【问题标题】:How to connect to Active Directory with Principal Context?如何使用主体上下文连接到 Active Directory?
【发布时间】:2015-04-13 14:49:19
【问题描述】:

我已经有一段时间了,我总是得到:

System.DirectoryServices.AccountManagement.PrincipalServerDownException

我认为这意味着我的连接设置(连接字符串)是错误的。

当我在 Active Directory 所在计算机上的 cmd 上编写“dsquery server”时,我得到:

"CN=DCESTAGIO,CN=SERVERS,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=estagioit,DC=local"

我尝试了以下连接方式:

1:

PrincipalContext thisPrincipalContext = new PrincipalContext(ContextType.Domain, "192.168.56.101", "DC=estagioit,DC=local");

2:

PrincipalContext thisPrincipalContext = new PrincipalContext(ContextType.Domain, "192.168.56.101/DC=estagioit,DC=local");

3:

PrincipalContext thisPrincipalContext = new PrincipalContext(ContextType.Domain, "192.168.56.101/CN=DCESTAGIO,DC=estagioit,DC=local");

4:

PrincipalContext thisPrincipalContext = new PrincipalContext(ContextType.Domain, "192.168.56.101/CN=DCESTAGIO,CN=SERVERS,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=estagioit,DC=local");

5:

PrincipalContext thisPrincipalContext = new PrincipalContext(ContextType.Domain, "LDAP://192.168.56.101/CN=Users,DC=estagioit,DC=local");

还有其他一些方法……

关于出了什么问题以及如何使这种连接正常工作的任何想法?

PS:ip 是正确的,因为我用它来 ping 并且它正在工作。

PPS:如果您有任何建议,我真的,真的需要尽快工作。欢迎他们。

【问题讨论】:

    标签: c# active-directory principalcontext


    【解决方案1】:

    如果您查看PrincipalContext 构造函数的文档,应该很清楚:

    public PrincipalContext(ContextType contextType, string name)
    

    public PrincipalContext(ContextType contextType, string name, string container)
    

    所以你基本上需要:

    • 您的上下文类型(此处:ContextType.Domain
    • 域名(仅尝试“Netbios”名称,例如“YOURDOMAIN” - 或为“默认”域保留 NULL)
    • 可选容器(作为 LDAP 路径 - “可分辨”名称,完整路径,但没有任何 LDAP:// 前缀)

    所以试试这样的:

    PrincipalContext thisPrincipalContext = 
        new PrincipalContext(ContextType.Domain, "ESTAGIOIT");
    

    PrincipalContext thisPrincipalContext = 
        new PrincipalContext(ContextType.Domain, null);  // default domain
    

    PrincipalContext thisPrincipalContext = 
        new PrincipalContext(ContextType.Domain, "ESTAGIOIT", "DC=estagioit,DC=local");
    

    PrincipalContext thisPrincipalContext = 
        new PrincipalContext(ContextType.Domain, null, "CN=Users,DC=estagioit,DC=local");
    

    【讨论】:

    猜你喜欢
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    • 2019-08-21
    • 1970-01-01
    • 2014-01-06
    • 2019-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多