2015-04-13 14 views
5

byłem na to za jakiś czas, a ja zawsze się:Jak połączyć się z Active Directory z głównym kontekstem?

System.DirectoryServices.AccountManagement.PrincipalServerDownException

co moim zdaniem oznacza mój konfiguracji połączenia (ciąg połączenia) jest źle .

Kiedy piszę "server dsquery" na cmd na komputerze, na którym Active Directory jest uzyskać:

„CN = DCESTAGIO, CN = Servers, CN = Default-First-Site-Name, CN = Miejsca, CN = Configuration, DC = estagioit, DC = local”

próbowałem następujących łączenia w jeden z następujących sposobów:

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"); 

i kilka innych sposobów ...

Jakieś pomysły na temat tego, co jest nie tak i jak mogę sprawić, aby to połączenie działało?

PS: adres IP jest poprawny, ponieważ użyłem go do pingowania i działa.

PSS: Naprawdę, naprawdę potrzebuję tego działającego JAK NAJSZYBCIEJ, jeśli masz jakieś sugestie, wszystkie są mile widziane.

Odpowiedz

15

Jeśli spojrzeć na dokumentacji dla PrincipalContext konstruktorów, powinno być dość jasne:

public PrincipalContext(ContextType contextType, string name) 

lub

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

Więc w zasadzie potrzebne są:

  • typ kontekstowe (tutaj: ContextType.Domain)
  • nazwa domeny (spróbuj tylko nazwy "Netbios", np.„Domena” - albo zostawić NULL dla „default” domeny)
  • ewentualnie pojemnik (jako ścieżkę LDAP - o „dobrej” nazwa, pełnej ścieżki, ale bez LDAP:// prefiksu)

Więc spróbuj coś takiego :

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

lub

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

lub

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

lub

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

Dzięki naprawdę uratował mnie człowieku! ;) –

+0

Mam istotne pytanie. Mam nadzieję, że możesz mi pomóc: http://stackoverflow.com/questions/42971315/finding-active-directory-users-from-2ou – user2931442

Powiązane problemy