Jak mogę ustalić mój ciąg połączenia LDAP?

108

Jesteśmy w sieci firmowej, która działa w usłudze Active Directory i chcielibyśmy przetestować niektóre elementy LDAP (w rzeczywistości dostawca członkostwa w Active Directory) i do tej pory nikt z nas nie jest w stanie ustalić, jaki jest nasz ciąg połączenia LDAP. Czy ktoś wie, jak możemy go znaleźć? Jedyne, co wiemy, to domena, w której działamy.

Allen
źródło

Odpowiedzi:

101

Dostawca członkostwa w usłudze Active Directory ASP.NET wykonuje uwierzytelnione powiązanie z usługą Active Directory przy użyciu określonej nazwy użytkownika, hasła i „ciągu połączenia”. Ciąg połączenia składa się z nazwy serwera LDAP i pełnej ścieżki do obiektu kontenera, w którym znajduje się określony użytkownik.

Ciąg połączenia zaczyna się od identyfikatora URI LDAP://.

W przypadku nazwy serwera możesz użyć nazwy kontrolera domeny w tej domenie - powiedzmy „dc1.corp.domain.com”. To daje nam tak LDAP://dc1.corp.domain.com/daleko.

Następny bit to pełna ścieżka do obiektu kontenera, w którym znajduje się użytkownik powiązania. Załóżmy, że używasz konta „Administrator”, a nazwa domeny to „corp.domain.com”. Konto „Administrator” znajduje się w kontenerze o nazwie „Użytkownicy” znajdującym się jeden poziom poniżej katalogu głównego domeny. Tak więc, w pełni wykwalifikowany DN z „Użytkownicy” pojemnika będzie: CN=Users,DC=corp,DC=domain,DC=com. Jeśli użytkownik, z którym się łączysz, znajduje się w jednostce organizacyjnej, zamiast kontenera, ścieżka powinna zawierać „OU = ou-name”.

Zatem użycie konta w jednostce organizacyjnej o nazwie, Service Accountsktóra jest podrzędną jednostką organizacyjną o nazwie, Corp Objectsktóra jest podrzędną jednostką organizacyjną nazwanej domeny, corp.domain.commiałby pełną ścieżkę OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com.

Połącz LDAP://dc1.corp.domain.com/z pełną ścieżką do kontenera, w którym znajduje się użytkownik powiązania (np. Powiedzmy LDAP://dc1.corp.domain.com/OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com), a otrzymasz „ciąg połączenia”.

(Możesz użyć nazwy domeny w ciągu połączenia w przeciwieństwie do nazwy kontrolera domeny. Różnica polega na tym, że nazwa domeny rozpozna adres IP dowolnego kontrolera domeny w domenie. Może to być zarówno dobra, jak i zła. Nie musisz polegać na tym, że jeden kontroler domeny jest uruchomiony i działa, aby dostawca członkostwa mógł działać, ale nazwa zdarza się rozwiązać, powiedzmy, DC w zdalnej lokalizacji z nieregularną łącznością sieciową, możesz mieć problemy z członkostwem dostawca działa.)

Evan Anderson
źródło
Przynajmniej z SBS 2008 wygląda na to, że zaczęły być zgodne ze standardowym prefiksem „OU” w ciągu znaków dla jednostek organizacyjnych: CN = Twoje imię, OU = Użytkownicy, DC = przykład, DC = lokalny Uruchamiamy poziom funkcjonalności 2003.
gravyface
Świetna odpowiedź. Czy mogę podać dane logowania do konta odpytującego do zagranicznego kontrolera domeny w ciągu połączenia?
Dan
Masz na myśli, że komputer zdalny uzyskujący dostęp do ActiveDirectory powinien znajdować się we własnej domenie? Co się stanie, jeśli mój komputer lokalny nie znajduje się w jego domenie? Jeśli mój komputer należy do grupy roboczej, czy muszę przekazać 2 poświadczenia, aby uwierzytelnić użytkownika? Mam na myśli, że jeden do zalogowania się na maszynie WindowsServer, a drugi to sprawdzenie nazwy użytkownika i hasła użytkownika ActiveDirectory. Czy mam rację?
Dinesh Kumar P.
@DineshKumarP: Mam problem z przetwarzaniem. Dostawca członkostwa używa ważnego poświadczenia w usłudze Active Directory (AD) w celu powiązania z katalogiem. Komputer, na którym działa dostawca członkostwa, nie musi być członkiem żadnej domeny AD, ale musisz go skonfigurować z prawidłowymi poświadczeniami z AD, aby mógł on działać.
Evan Anderson
2
@ArthurRonald - Użytkownicy nieuprzywilejowani mogą domyślnie łączyć się z usługą Active Directory i wyszukiwać w niej. W rzeczywistości najlepiej jest, jeśli korzystasz z nieuprzywilejowanych użytkowników. Active Directory ma dość bogaty model ACL i możesz kontrolować dostęp do obiektów i atrybutów w bardzo szczegółowy sposób. Powinieneś powiązać konto, które ma wystarczające uprawnienia, aby zrobić ci to, czego potrzebujesz, ale nie więcej.
Evan Anderson
23

Wpisz dsquery /?wiersz polecenia.

Np .: dsquery user -name Ja*pobiera parametry połączenia dla wszystkich użytkowników o nazwach rozpoczynających się od Ja *.

ErJab
źródło
Podoba mi się to podejście, które zapewnia prawidłowe uporządkowanie jednostek organizacyjnych i tym podobne. Aby było to oczywiste, aby użyć tego, weź LDAP: //dc1.corp.domain.com/ i dane wyjściowe z polecenia i połącz je w celu łatwego uciszenia łańcucha ldap.
RandomUs1r
3
Jakie narzędzia są potrzebne do korzystania z tego polecenia?
Pred
Pred, zobacz tę odpowiedź .
Stas Bushuev,
18

Po prostu używam tego narzędzia z Softerra (tworzą doskonałą darmową przeglądarkę LDAP), aby uzyskać nazwę wyróżniającą użytkownika od aktualnie zalogowanego użytkownika: http://www.ldapbrowser.com/download.htm

gravyface
źródło
Krok 1: W kroku „Referencje” wybierz „Użytkownik aktualnie zalogowany (tylko ActiveDirectory)”. Krok 2: Po utworzeniu połączenia w jego Właściwościach przejdź do zakładki „Wpis” i skopiuj adres URL. Krok 3: Użyj tego adresu URL razem z nazwą wyróżniającą znalezioną w rozwiązaniu ErJab.
Nicolas Raoul
7

Zawsze miałem problemy ze znalezieniem właściwego sposobu na wpisanie jednostki organizacyjnej. To polecenie dsquery ou domainrootwyświetli listę poprawnych nazw wszystkich jednostek organizacyjnych w Twojej domenie. Nie jestem pewien, czy to pomoże większej organizacji.

Nixphoe
źródło
4

Jeśli otworzysz ADSIedit, powinien on pokazywać ścieżkę po wybraniu opcji Połącz z ...

wprowadź opis zdjęcia tutaj

KERR
źródło
1

Znalazłem najprostszy sposób :

Możesz również znaleźć od

Serwer Active Directory -> Wybierz jednostkę organizacyjną jednostki organizacyjnej -> Kliknij prawym przyciskiem myszy -> Właściwości -> AttributeEditor -> DistinguishedName

Mam je z Microsoft Windows Server 2012 R2

Aravin
źródło