Wie kann ich meine LDAP-Verbindungszeichenfolge ermitteln?

108

Wir befinden uns in einem Unternehmensnetzwerk, in dem Active Directory ausgeführt wird, und wir möchten einige LDAP-Inhalte testen (Active Directory-Mitgliedschaftsanbieter). Bisher kann keiner von uns herausfinden, wie unsere LDAP-Verbindungszeichenfolge lautet. Weiß jemand, wie wir es finden können? Das einzige, was wir wissen, ist die Domain, auf der wir sind.

Allen
quelle

Antworten:

101

Der ASP.NET Active Directory-Mitgliedschaftsanbieter führt eine authentifizierte Bindung an Active Directory unter Verwendung eines angegebenen Benutzernamens, Kennworts und einer angegebenen "Verbindungszeichenfolge" durch. Die Verbindungszeichenfolge setzt sich aus dem Namen des LDAP-Servers und dem vollständig qualifizierten Pfad des Containerobjekts zusammen, in dem sich der angegebene Benutzer befindet.

Die Verbindungszeichenfolge beginnt mit dem URI LDAP://.

Für den Servernamen können Sie den Namen eines Domänencontrollers in dieser Domäne verwenden. Sagen wir "dc1.corp.domain.com". Das gibt uns so LDAP://dc1.corp.domain.com/weit.

Das nächste Bit ist der vollständig qualifizierte Pfad des Containerobjekts, in dem sich der Bindungsbenutzer befindet. Angenommen, Sie verwenden das Konto "Administrator" und der Name Ihrer Domain lautet "corp.domain.com". Das Konto "Administrator" befindet sich in einem Container mit dem Namen "Benutzer", der sich eine Ebene unterhalb des Stamms der Domäne befindet. Somit wäre die vollständige DN der „Users“ Container: CN=Users,DC=corp,DC=domain,DC=com. Wenn sich der Benutzer, mit dem Sie binden, in einer Organisationseinheit befindet, enthält der Pfad anstelle eines Containers "OU = OU-Name".

Wenn Sie also ein Konto in einer Organisationseinheit mit dem Namen Service Accountseiner Unterorganisationseinheit einer Organisationseinheit mit dem Namen Corp Objectseiner Unterorganisationseinheit einer Domäne mit dem Namen verwenden, wird corp.domain.comder Pfad vollqualifiziert OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com.

Kombinieren Sie den LDAP://dc1.corp.domain.com/Pfad mit dem vollständig qualifizierten Pfad zu dem Container, in dem sich der Bindungsbenutzer befindet (etwa LDAP://dc1.corp.domain.com/OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com), und Sie haben Ihre "Verbindungszeichenfolge".

(Sie können den Domänennamen in der Verbindungszeichenfolge anstelle des Namens eines Domänencontrollers verwenden. Der Unterschied besteht darin, dass der Domänenname in die IP-Adresse eines beliebigen Domänencontrollers in der Domäne aufgelöst wird. Dies kann sowohl gut als auch schlecht sein. Sie sind nicht darauf angewiesen, dass ein einzelner Domänencontroller aktiv ist, damit der Mitgliedschaftsanbieter funktioniert. Der Name wird jedoch beispielsweise in einem Domänencontroller an einem Remotestandort mit fleckiger Netzwerkkonnektivität aufgelöst, und es können Probleme mit der Mitgliedschaft auftreten Anbieter arbeiten.)

Evan Anderson
quelle
Zumindest mit SBS 2008 sieht es so aus, als hätten sie begonnen, sich an das Standardpräfix "OU" in der Zeichenfolge für die OUs zu halten: CN = Ihr Name, OU = Benutzer, DC = Beispiel, DC = lokal Wir führen die Funktionsebene aus 2003.
Gravyface
Gute Antwort. Kann ich dem fremden Domänencontroller die Anmeldedaten des abfragenden Kontos in der Verbindungszeichenfolge bereitstellen?
Dan
Sie meinen also, dass sich der Remote-Computer, der auf ActiveDirectory zugreift, in einer eigenen Domäne befinden sollte? Was ist, wenn sich mein lokaler Computer nicht in seiner Domäne befindet? Wenn sich mein Computer in einer Arbeitsgruppe befindet, muss ich zwei Anmeldeinformationen übergeben, um einen Benutzer zu authentifizieren? Ich meine, einer, um sich auf dem WindowsServer-Computer anzumelden, und der andere, um den Benutzernamen und das Kennwort des ActiveDirectory-Benutzers zu überprüfen. Habe ich recht?
Dinesh Kumar P
@DineshKumarP: Ich habe ein bisschen Probleme, dich zu analysieren. Der Mitgliedschaftsanbieter verwendet einen gültigen Berechtigungsnachweis in Active Directory (AD), um eine Bindung an das Verzeichnis herzustellen. Der Computer, auf dem der Mitgliedschaftsanbieter ausgeführt wird, muss kein Mitglied einer AD-Domäne sein. Sie müssen ihn jedoch mit einem gültigen Berechtigungsnachweis aus dem AD konfigurieren, damit er funktioniert.
Evan Anderson
2
@ArthurRonald - Unprivilegierte Benutzer können standardmäßig Verbindungen zu Active Directory herstellen und diese abfragen. In der Tat ist es wahrscheinlich am besten, wenn Sie nicht privilegierte Benutzer verwenden. Active Directory verfügt über ein ziemlich umfangreiches ACL-Modell, und Sie können den Zugriff auf Objekte und Attribute sehr detailliert steuern. Sie sollten sich mit einem Konto verbinden, das über die erforderlichen Berechtigungen verfügt, um das zu tun, was Sie benötigen, jedoch nicht mehr.
Evan Anderson
23

Geben Sie dsquery /?eine Eingabeaufforderung ein.

Beispiel: dsquery user -name Ja*Ruft die Verbindungszeichenfolgen für alle Benutzer ab, deren Namen mit Ja * beginnen.

ErJab
quelle
Ich mag diesen Ansatz, es gibt die richtige Reihenfolge der Organisationseinheiten und so weiter. Um dies zu verdeutlichen, nehmen Sie LDAP: //dc1.corp.domain.com/ und die Ausgabe des Befehls und kombinieren Sie sie, um auf einfache Weise einen ldap-String zu bilden.
RandomUs1r
3
Welche Tools müssen installiert sein, um diesen Befehl verwenden zu können?
Pred
Pred, siehe diese Antwort .
Stas Bushuev
18

Ich benutze nur dieses Tool von Softerra (es ist ein hervorragender Freeware-LDAP-Browser), um den Benutzer-DN des aktuell angemeldeten Benutzers zu ermitteln: http://www.ldapbrowser.com/download.htm

Soßengesicht
quelle
Schritt 1: Wählen Sie im Schritt "Anmeldeinformationen" die Option "Derzeit angemeldeter Benutzer (nur ActiveDirectory)". Schritt 2: Wenn die Verbindung hergestellt ist, gehen Sie in den Eigenschaften auf die Registerkarte "Eintrag" und kopieren Sie die URL. Schritt 3: Verwenden Sie diese URL zusammen mit dem DN, der mit der ErJab-Lösung gefunden wurde.
Nicolas Raoul
7

Ich hatte immer Probleme, den richtigen Weg zu finden, um die Organisationseinheit auszutippen. Mit dem Befehl erhalten dsquery ou domainrootSie eine Liste der korrekten Namen aller Organisationseinheiten in Ihrer Domäne. Ich bin mir nicht sicher, ob dies für eine größere Organisation hilfreich ist.

Nixphoe
quelle
4

Wenn Sie ADSIedit öffnen, sollte der Pfad angezeigt werden, wenn Sie Verbinden mit ... auswählen.

Bildbeschreibung hier eingeben

KERR
quelle
1

Ich habe den einfachsten Weg gefunden :

Sie finden auch von

Active Directory-Server -> Wählen Sie die Organisationseinheit aus -> Rechtsklick -> Eigenschaften -> AttributeEditor -> DistinguishedName

Ich habe diese von Microsoft Windows Server 2012 R2

Aravin
quelle