我试图在 Active Directory 中按用户名查找用户。
这有效:
const string Domain = "SLO1.Foo.Bar.biz";
const string Username = "sanderso";
PrincipalContext principalContext = new PrincipalContext(ContextType.Domain, Domain);
UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(principalContext, Username);
这不会:
const string Domain = "SLO1.Foo.Bar.biz";
const string Container = "CN=Users,DC=SLO1,DC=Foo,DC=Bar,DC=biz";
const string Username = "sanderso";
PrincipalContext principalContext = new PrincipalContext(ContextType.Domain, Domain, Container);
UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(principalContext, Username);
我收到错误消息:
服务器上没有这样的对象。
这是我的 ActiveDirectory 设置的屏幕截图:
我也尝试过使用以下容器:
const string Container = "OU=Users,DC=SLO1,DC=Foo,DC=Bar,DC=biz";
这同样不成功。
如何在访问“用户”容器时指定我的容器?在引入具有更复杂要求的查找之前,我试图将其作为初始的简单设置。所以,我宁愿不满足于简单的解决方案,因为无论如何我都必须解决这个问题,我相信。