C# 为PrincipalContext指定容器后找不到用户

C# 为PrincipalContext指定容器后找不到用户,c#,active-directory,userprincipal,C#,Active Directory,Userprincipal,我正在尝试在Active Directory中按用户名查找用户 这项工作: const string Domain = "SLO1.Foo.Bar.biz"; const string Username = "sanderso"; PrincipalContext principalContext = new PrincipalContext(ContextType.Domain, Domain); UserPrincipal userPrincipal = UserPrincipal.Fin

我正在尝试在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";
这同样不成功

访问“用户”容器时,如何指定容器?在引入具有更复杂需求的查找之前,我尝试将其作为一个初始的、简单的设置。所以,我不想满足于简单的解决方案,因为我相信无论如何都要解决这个问题。

我想出来了:)

首先,我使用以下软件确保生成正确的容器字符串:

这证实了我的字符串几乎是正确的,除了缺少一个端口,但它只是需要一些小题大做

正确的用法是:

const string Domain = "SLO1.Foo.Bar.biz:389";
const string Container = @"DC=Foo,DC=Bar,DC=biz";
const string Username = @"sanderso";
PrincipalContext principalContext = new PrincipalContext(ContextType.Domain, Domain, Container);
UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(principalContext,  username);

肖恩,你有没有试过用域名传递PrincipleContext…?DJ KRAZE-我记得几天前和你说过。是的,我做到了,是的,它起作用了。但是,如果您阅读我这个问题的最下面一段话——在此之后,我正在为一个外部客户处理一个更复杂的连接字符串,我想确保我能够成功地传递容器参数。上面字符串中的
LDAP://
保护在哪里,DC=SLO1,DC=Foo,DC=Bar,DC=bizHmm,类似的东西可能是必要的。当我尝试使用LDAP:///时,我遇到了一个未知错误,但我会处理它一段时间。谢谢没问题,肖恩。。我在LDAP和AD上工作了10年。。让我知道你的发现我希望我能帮助你找到答案肖恩。。你也可以接受你的答案,很高兴我能帮你,你完全忘记了:389我昨晚一定很累了,我怎么会看得太多..Lol但是用户是默认的容器,你的答案没有指定容器的名称。类似conststringcontainer=@“CN=Interns,DC=Foo,DC=Bar,DC=biz”;