1

Я продолжаю получать сообщение об ошибке С сервером нельзя связаться. Когда я пытаюсь запустить мой код:Active Directory: с сервером нельзя связаться с помощью DirectorySearcher

Я искал несколько часов, и я все еще не могу связаться с сервером.

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 находится в домене.

ответ

1

Ключевое заявление здесь похоже на «Я изменил свой домен, где AD находится в домене».

  1. Убедитесь, что на сервере приложений указан правильный DNS-сервер.
  2. Убедитесь, что клиент указан на правильном DNS-сервере.
  3. Эта строка подключения выглядит неправильно: строка PrincipalContext pricipalContext = new PrincipalContext(ContextType.Domain, "LDAP://domain.dk/DC=domain,DC=dk");

  4. Подключение в # 3 может работать лучше, как это:

    PrincipalContext pricipalContext = новый PrincipalContext (ContextType.Domain, "домен", «DC = домен, DC = дк ");