我正在尝试查询域以确定是否:
我的开发机器不属于此域。 我想通过我的应用程序指定用户名和密码
我正在使用System.DirectoryServices.AccountManagement命名空间,因为这似乎是最有效的方式,但是我很难从域控制器中获取最基本的信息。
我可以通过其他工具探索LDAP。
首先测试是收集用户信息,下面的代码在用户上返回null。 然而,用户是有效的。
我做错了什么?
// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "server","CN=Users,DC=doom,DC=home", "ldapuser","password");
// get user contect
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, IdentityType.Name, username);
//is user locked?
var locked = user.Enabled;
更新
定义了如下的bind方法后,我现在收到错误 “无法检索有关域名的信息(1355)。”
var ctx = new PrincipalContext(ContextType.Domain, "server", "DC=doom,DC=home", ContextOptions.SimpleBind, "ldapuser", "password");
答案 0 :(得分:7)
排序。
此答案解决了我在尝试连接到我不是其成员的域控制器时遇到的两个问题。
我现在可以连接到我的AD并收集数据。