繁体   English   中英

从PrincipalContext获取域名

[英]Get domain name from PrincipalContext

假设我们有这个上下文

private static readonly PrincipalContext Context = 
    new PrincipalContext(ContextType.Domain, "255.255.255.252",
                         "OU=TestOrgUnit,DC=as,DC=asf",
                         "blabla", "12345");

我正在搜索此域中的用户。 我将它们的名称命名为SomeNickName ,但它们应为DomainName\\SomeNickName

是否可以从PrincipalContext对象获取DomainName 我找到了DirectoryEntry的解决方案,但是无法将PrincipalContext转换为它。

这段代码

DirectoryEntry deBase = new DirectoryEntry("255.255.255.252", "AdminLogin", "PWD"); 

和这段代码

DirectoryEntry deBase = new DirectoryEntry("255.255.255.252://OU=TestOrgUnit,DC=as,DC=asf", "AdminLogin", "PWD");

引发异常,不起作用。

因此,从技术上讲,您在为连接的OU指定的DN中具有域信息(DC = as,DC = asf)。 第一个DC是Win2K之前的名称,这似乎是您想要的。

至于PrincipalContext本身包含域信息,似乎没有。

如果要使用DE获得更多属性或进行用户搜索,则需要这样创建:

var deBase = new DirectoryEntry("LDAP://255.255.255.252/OU=TestOrgUnit,DC=as,DC=asf", "AdminLogin", "PWD")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM