W jaki sposób można uzyskać dostęp do Active Directory określonego kontrolera domen?
Skrypciarze odpowiadają na Wasze pytania
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