Centrum Skryptów - Active Directory

W jaki sposób można uzyskać dostęp do Active Directory określonego kontrolera domen? Udostępnij na: Facebook

Skrypciarze odpowiadają na Wasze pytania

Cześć Skrypciarze!

Witamy w rubryce TechNet, w której Skrypciarze z firmy Microsoft odpowiadają na częste pytania dotyczące używania skryptów w administracji systemu. Jeśli macie jakieś pytania z tej dziedziny, zachęcamy do wysłania e-maila na adres: scripter@microsoft.com. Nie możemy zagwarantować odpowiedzi na każde otrzymane pytanie, ale staramy się jak możemy.

W jaki sposób można uzyskać dostęp do Active Directory określonego kontrolera domen?

Cześć, Skrypciarzu! W jaki sposób mogę uzyskać dostęp do Active Directory na określonym kontrolerze domen?

-- Marta

Cześć, Marto. Wiesz co, jedną z większych zalet Active Directory jest to, że zwykle nie trzeba uzyskiwać dostępu do jakiegoś określonego kontrolera domen. Informacje Active Directory są kopiowane i przechowywane w każdym z kontrolerów w domenie, więc łączyć się można z dowolnym z nich. I tak, jeśli chcemy dowiedzieć się, w jakim dziale znajduje się dany użytkownik, możemy użyć takiego „połączenia bezserwerowego”:

Set objUser = GetObject _

    ("LDAP://CN=Ken Myer,OU=Finance,DC=fabrikam,DC=com")

Wscript.Echo objUser.department

Zwróćmy uwagę, że nie łączymy się tu z określonym kontrolerem domen, a jedynie z usługą Active Directory, która sama wybiera odpowiedni kontroler. Dla nas to bez różnicy: w końcu dział będzie taki sam według każdego z kontrolerów.

Skoro tak, to po cóż ktokolwiek miałby łączyć się z wybranym kontrolerem? No cóż, oto jeden z powodów. Co prawda większość informacji Active Directory jest kopiowana do wszystkich kontrolerów domeny, jednak kilka atrybutów pozostaje nieskopiowanych. I tak np. atrybut badPwdCount, odpowiedzialny za liczbę prób zalogowania z użyciem niewłaściwego hasła nie jest kopiowany, a jego wartość jest inna na każdym kontrolerze. Wartości z każdego kontrolera można potem zsumować, uzyskując łączną liczbę prób zalogowania do domeny, które nie powiodły się z powodu błędnego hasła.

To tylko jeden przykład, powodów, by połączyć się z określonym kontrolerem może być o wiele więcej.

Jak zatem to zrobić? Wystarczy podać nazwę komputera w ciągu znaków odpowiedzialnym za połączenie z Active Directory. Poniższy skrypt na przykład łączy się z Active Directory na komputerze atl-dc-01:

Set objUser = GetObject _

    ("LDAP://atl-dc-01/CN=Ken Myer,OU=Finance,DC=fabrikam,DC=com")

Wscript.Echo objUser.badPwdCount

Chcesz się połączyć z Active Directory na komputerze red-dc-22? Użyj poniższego skryptu:

Set objUser = GetObject _

    ("LDAP://red-dc-22/CN=Ken Myer,OU=Finance,DC=fabrikam,DC=com")

Wscript.Echo objUser.badPwdCount

I już gotowe.

 Do początku strony Do początku strony


Centrum Skryptów - Active Directory