【问题标题】:Active Directory: The server could not be contacted using DirectorySearcherActive Directory:无法使用 DirectorySearcher 联系服务器
【发布时间】:2016-11-21 08:15:55
【问题描述】:

我不断收到错误无法联系服务器。当我尝试运行我的代码时:

我已经搜索了几个小时,仍然无法联系到服务器。

DirectorySearcher directorySearcher = new DirectorySearcher();
string path = directorySearcher.SearchRoot.Path;
DirectoryEntry directoryEntry = new DirectoryEntry(path);

PrincipalContext pricipalContext = new PrincipalContext(ContextType.Domain, "LDAP://domain.dk/DC=domain,DC=dk");
//GroupPrincipal group = GroupPrincipal.FindByIdentity(pricipalContext, "(CN=" + department + ")");
GroupPrincipal group = GroupPrincipal.FindByIdentity(pricipalContext, "(CN=" + department + ")");


if (group != null)
{
    foreach (Principal principal in group.Members)
    {
        UserPrincipal tu = principal as UserPrincipal;

        DirectoryEntry de = tu.GetUnderlyingObject() as DirectoryEntry;
        var store = de.InvokeGet("physicalDeliveryOfficeName").ToString();
        var storeNumber = de.InvokeGet("description").ToString();

        employees.Add(new AdEmployees() { name = principal.Name, phone = tu.VoiceTelephoneNumber, email = tu.EmailAddress, store = store.ToString(), storeNumber = storeNumber.ToString(), link = GenerateLink(principal.Name) });
    }
}

注意:我将AD所在的域更改为域。

【问题讨论】:

    标签: c# active-directory ldap windows-authentication directorysearcher


    【解决方案1】:

    这里的关键语句似乎是“我将AD所在的域更改为域。”

    1. 确保应用程序服务器指向正确的 DNS 服务器。
    2. 确保客户端指向正确的 DNS 服务器。
    3. 此连接字符串看起来错误:PrincipalContext pricipalContext = new PrincipalContext(ContextType.Domain, "LDAP://domain.dk/DC=domain,DC=dk");

    4. #3 中的连接字符串可能会像这样更好地工作:

      PrincipalContext pricipalContext = new PrincipalContext(ContextType.Domain, "DOMAIN", "DC=domain,DC=dk");

    【讨论】:

      猜你喜欢
      • 2021-11-21
      • 1970-01-01
      • 2016-06-18
      • 2016-12-31
      • 1970-01-01
      • 1970-01-01
      • 2017-04-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多