it-swarm.com.de

Wie kann ich herausfinden, welcher Server LDAP in meiner Windows-Domäne hostet?

Ich versuche, eine Anwendung (C #) zum Abfragen eines LDAP-Servers zu entwickeln. Ich kenne den eigentlichen Server nicht, der zum Abfragen benannt wurde. Gibt es eine Möglichkeit, mithilfe von Windows-Standardtools oder etwas in .net herauszufinden?

Ich habe auch Gerüchte gehört, dass der Servername (ldap: // server /) nicht immer benötigt wird, solange ich dc = domain, dc = com in meiner Abfragezeichenfolge habe, aber bisher in der Lage war auf diese Weise damit zu arbeiten.

Irgendwelche Tipps?

Vielen Dank

35
bugfixr

Wenn Sie AD verwenden, können Sie serverless binding verwenden, um einen Domänencontroller für die Standarddomäne zu suchen. Verwenden Sie dann LDAP: // rootDSE, um Informationen zum Verzeichnisserver abzurufen, wie im verlinkten Artikel beschrieben.

15
Joe

AD registriert SRV-Ressourceneinträge (Service Location) auf seinem DNS-Server, die Sie abfragen können, um den Port und den Hostnamen des zuständigen LDAP-Servers in Ihrer Domäne abzurufen.

Probieren Sie dies einfach auf der Kommandozeile aus:

C:\> nslookup 
> set types=all
> _ldap._tcp.<<your.AD.domain>>
_ldap._tcp.<<your.AD.domain>>  SRV service location:
      priority       = 0
      weight         = 100
      port           = 389
      svr hostname   = <<ldap.hostname>>.<<your.AD.domain>>

(vorausgesetzt, Ihr Nameserver ist der AD-Nameserver. Dies sollte der Fall sein, damit der AD ordnungsgemäß funktioniert.)

Weitere Informationen finden Sie unter Active Directory SRV-Einträge und Windows 2000 DNS-Whitepaper .

94
Stefan Gehrig

Wenn der Computer, auf dem Sie sich befinden, Teil der AD-Domäne ist, sollten die Nameserver auf die AD-Nameserver eingestellt sein (oder hoffentlich einen DNS-Serverpfad verwenden, der Ihre AD-Domänen möglicherweise auflöst). Wenn Sie anhand Ihres Beispiels für dc = domain und dc = com domain.com in den AD-Nameservern nachschlagen, wird eine Liste der IP-Adressen der einzelnen AD-Controller zurückgegeben. Beispiel aus meiner Firma (w/der Domainname hat sich geändert, aber ansonsten ist es ein echtes Beispiel):

 mokey 0/home/jj33> nslookup example.ad 
 Server: 172.16.2.10 
 Adresse: 172.16.2.10 # 53 
 
 Non- maßgebliche Antwort: 
 Name: example.ad 
 Adresse: 172.16.6.2 
 Name: example.ad 
 Adresse: 172.16.141.160 
 Name: example.ad 
 Adresse: 172.16.7.9 
 Name: example.ad 
 Adresse: 172.19.1.14 
 Name: example.ad 
 Adresse: 172.19.1.3 
 Name: example.ad 
 Adresse: 172.19.1.11 
 Name: example.ad 
 Adresse: 172.16.3.2 

Hinweis: Ich mache die Abfrage tatsächlich von einem Nicht-AD-Computer, aber unsere Unix-Nameserver können Abfragen für unsere AD-Domäne (example.ad) an die AD-DNS-Server senden.

Ich bin mir sicher, dass es eine superschicke Windows-Methode gibt, aber ich verwende gerne die DNS-Methode, wenn ich die LDAP-Server von einem Nicht-Windows-Server finden muss.

12
jj33