Active Directory to bardzo skomplikowany ekosystem IT, nawet z podstawowymi kontrolerami domeny i pojedynczą lokacją Active Directory. Możliwość szybkiej oceny stanu Active Directory i rozwiązywania problemów jest kluczowa dla administratora systemu. W tym artykule postaram się przedstawić podstawowe polecenia, których można użyć do sprawdzenia stanu usługi Active Directory i zidentyfikowania potencjalnych błędów.
Usługi wchodzące w skład Active Directory
Usługi te mają kluczowe znaczenie dla funkcjonowania i zarządzania siecią domeny Windows, zapewniając różne możliwości, takie jak uwierzytelnianie, rozpoznawanie nazw, synchronizacja czasu i centralne usługi katalogowe.
NTDS (Active Directory Domain Services) – NTDS oznacza „NT Directory Services”, podstawowy składnik Active Directory w systemie Windows. Odpowiada za przechowywanie i zarządzanie informacjami o obiektach w sieci, takich jak użytkownicy, komputery i grupy. NTDS umożliwia scentralizowane uwierzytelnianie, autoryzację i inne funkcje administracyjne w środowisku domeny Windows.
ADWS (usługi internetowe Active Directory) – ADWS to usługa zapewniająca interfejs usług internetowych umożliwiający dostęp do usługi Active Directory i zarządzanie nią. Umożliwia aplikacjom interakcję z usługą Active Directory przy użyciu protokołów usług internetowych, takich jak Simple Object Access Protocol (SOAP) przez HTTP. ADWS umożliwia zdalną administrację Active Directory i jest wykorzystywany głównie przez narzędzia i aplikacje administracyjne do zarządzania obiektami Active Directory.
DNS (Domain Name System) – DNS to podstawowa usługa sieciowa, która tłumaczy nazwy domen (np. www.example.com) na adresy IP (np. 192.168.0.1) i odwrotnie. Pomaga komputerom lokalizować i komunikować się ze sobą za pośrednictwem sieci. Usługa DNS działa na serwerach Windows i umożliwia rozpoznawanie nazw domen, niezbędnych do różnych działań sieciowych, takich jak przeglądanie Internetu, wysyłanie wiadomości e-mail i uzyskiwanie dostępu do zasobów sieciowych.
Dnscache (klient DNS) – Dnscache, znany również jako usługa klienta DNS, jest odpowiedzialny za buforowanie i rozwiązywanie zapytań DNS na komputerze z systemem Windows. Kiedy uzyskujesz dostęp do strony internetowej lub dowolnego zasobu sieciowego, usługa klienta DNS sprawdza swoją lokalną pamięć podręczną, aby sprawdzić, czy ma już adres IP powiązany z nazwą domeny. Jeśli nie, wysyła żądanie do serwera DNS w celu rozpoznania nazwy domeny.
KDC (Key Distribution Center) – KDC to usługa zajmująca się implementacją protokołu uwierzytelniania Kerberos, który służy do bezpiecznego uwierzytelniania w domenach Windows. KDC wystawia i weryfikuje bilety w celu uwierzytelnienia użytkowników i zapewnienia im dostępu do zasobów sieciowych. Zapewnia, że tylko autoryzowani użytkownicy mają dostęp do chronionych zasobów w środowisku domeny.
W32time (usługa czasu systemu Windows) – W32time to usługa czasu systemu Windows odpowiedzialna za synchronizację czasu w środowisku Windows. Zapewnia synchronizację czasu wszystkich komputerów w domenie, niezbędną do różnych operacji sieciowych, w tym uwierzytelniania, integralności pliku dziennika i dokładności dziennika zdarzeń. W32time może synchronizować czas z zewnętrznym źródłem czasu lub kontrolerem domeny pełniącym rolę serwera czasu.
Netlogon – to usługa zapewniająca bezpieczne połączenia kanałowe między kontrolerami domeny a klientami w domenie Windows. Obsługuje funkcje uwierzytelniania i replikacji wymagane dla domeny Active Directory. Netlogon umożliwia bezpieczną komunikację i uwierzytelnianie pomiędzy członkami domeny oraz ułatwia replikację baz danych Active Directory pomiędzy kontrolerami domeny.
Sprawdzenie dostępnych testów DCdiag
Zaloguj się do kontrolera domeny, otwórz PowerShell jako administrator i uruchom następujące polecenie, aby uzyskać stan usług.
1 2 |
$services = 'ntds', 'adws', 'dns', 'dnscache', 'kdc', 'w32time', 'netlogon' Get-Service $services | Select-Object MachineName, DisplayName, Status |
Aby uzyskać status usług z wielu serwerów, możesz zamiast tego uruchomić poniższe polecenia. Pamiętaj, aby zastąpić wartości $Computer swoimi. W tym przykładzie wysyłane są zapytania do dwóch serwerów — DC01 i DC02.
1 |
# Server names <br>$Computer = 'DC01', 'DC02' <br># Service names <br>$services = 'ntds', 'adws', 'dns', 'dnscache', 'kdc', 'w32time', 'netlogon' <br># Get the service status from specified servers <br>Get-Service $services -ComputerName $Computer | ` <br>Sort-Object MachineName, DisplayName | ` <br>Select-Object MachineName, DisplayName, Status |
Sprawdź stan usługi Active Directory za pomocą DCDIAG
DCDiag to narzędzie wiersza poleceń w systemie Windows, które służy do diagnozowania stanu i funkcjonalności kontrolerów domeny w środowisku Active Directory. Pomaga administratorom identyfikować i rozwiązywać problemy związane z kontrolerami domeny, konfiguracją DNS, replikacją i innymi składnikami Active Directory.
To polecenie ma wiele flag i opcji, które można znaleźć, uruchamiając poniższe polecenie.
1 |
dcdiag /h |
Samo uruchomienie polecenia DCDiag powoduje wykonanie serii testów na kontrolerze domeny i wyświetlenie szczegółowego raportu z wyników. Narzędzie sprawdza różne aspekty funkcjonalności kontrolera domeny, m.in.:
- Łączność (Connectivity) – DCDiag weryfikuje łączność sieciową między kontrolerem domeny a innymi kontrolerami domeny, upewniając się, że mogą się one prawidłowo komunikować.
- Konfiguracja DNS (DNS Configuration) – Sprawdza ustawienia DNS i zapewnia, że kontroler domeny może poprawnie rozwiązywać zapytania DNS.
- Replikacja Active Directory (Active Directory Replication) – DCDiag bada proces replikacji pomiędzy kontrolerami domeny, upewniając się, że zmiany wprowadzone na jednym kontrolerze domeny są poprawnie replikowane na innych.
- Usługi katalogowe (Directory Services) – testuje ogólny stan bazy danych Active Directory i sprawdza, czy nie występują błędy lub niespójności.
- Bezpieczeństwo (Security) – DCDiag weryfikuje ustawienia zabezpieczeń i uprawnienia związane z kontrolerami domeny, upewniając się, że są one poprawnie skonfigurowane.
- SysVol – Sprawdza dostępność i synchronizację folderu SysVol, który zawiera ważne obiekty i skrypty zasad grupy.
Testowanie lokalne, zdalne i wszystkie
Aby przetestować lokalny kontroler domeny, uruchamiasz dcdiag w następujący sposób:
1 |
dcdiag |
Aby przetestować serwer zdalny, dołącz flagę /s:
1 |
dcdiag /s:DC01 |
Uruchom poniższe polecenia, aby przetestować wszystkie kontrolery domeny w lokacji lub w przedsiębiorstwie:
1 |
dcdiag /a |
1 |
dcdiag /e |
Koncentrowanie się na błędach
Wyniki DCDiag mogą być trudne do interpretacji ze względu na ich ilość. Jednak, jak w przypadku każdego monitorowania, bardziej sensowne jest wiedzieć, które testy zakończyły się niepowodzeniem, niż te, które przeszły pomyślnie. Aby ograniczyć wynik do wyświetlania wyłącznie błędów, użyj flagi /q.
1 |
dcdiag /a /q |
Przeprowadzanie określonych testów
Za pomocą DCDiag możesz uruchomić określone testy, takie jak DNS i NetLogons. Wszystkie znane testy można znaleźć, uruchamiając dcdiag /h i odwołując się do „Listy znanych testów” („The list of known tests„).
Na przykład możesz uruchomić test DNS, uruchamiając to polecenie:
1 |
dcdiag /test:DNS /v /e |
Przełącznik /v sprawia, że dane wyjściowe są szczegółowe i podsumowywane są wyniki. Jeśli nie ma problemu z usługą DNS, wszędzie w sekcji „Podsumowanie wyników testu DNS” należy wskazać PASS.
Flaga /test:DNS uruchamia następujące testy podrzędne DNS. Możesz także uruchomić każdy z powyższych podtestów DNS indywidualnie.
Testy szczegółowe DNS | Opis |
---|---|
/DnsBasic | Wykonuje podstawowe testy DNS. |
/DnsForwarders | Testuje usługi przesyłania dalej i wskazówki dotyczące rootowania. |
/DnsDelegation | Test delegowania DNS. |
/DnsDynamicUpdate | Testuje aktualizacje dynamiczne DNS. |
/DnsRecordRegistration | Testuje rejestrację rekordu DNS. |
/DnsResolveExtName | Domyślnie uruchamia rozpoznawanie nazw DNS adresu www.microsoft.com. |
/DnsAll | Uruchamia wszystkie powyższe testy. |
/DnsInternetName: | Uruchamia test rozpoznawania nazw DNS dla podanego adresu internetowego. |
Jeśli w teście występują błędy, możesz poinstruować DCDiag, aby wykonał bezpieczne naprawy, dodając flagę /fix przed próbą ręcznego naprawienia.
1 |
DCDiag /Test:DNS /s:DC01.beitadminpl.local /fix |
Innym przykładem jest test NetLogns.
1 |
dcdiag /test:netlogons |
Pomijanie określonych testów
Niektóre testy można pominąć, zwłaszcza jeśli zawierają błędy, o których wiesz, że można je zignorować. Na przykład, gdy uruchomię poniższe polecenie, wykonuje ono testy i wyświetla tylko znalezione błędy.
1 |
dcdiag /q |
W moim przypadku problemem okazał się SYSVOL, który związany jest z GPO. Jeżeli ten problem jest znany, można go pominąć w testach.
1 |
dcdiag /skip:SYSVOL /q |
Jak widać poniżej, błąd testu SYSVOL nie pojawił się w wynikach, co pozwoliło skupić się na innych możliwych problemach.
Przekierowanie wyników testu do pliku
Wysłanie wyników DCDiag do pliku może być przydatne do późniejszego przejrzenia lub jeśli masz przepływ pracy, który wysyła wyniki pocztą elektroniczną.
Możesz to zrobić na kilka sposobów.
Używanie flagi /f:<ścieżka_pliku_dziennika>:
1 |
dcdiag /test:DNS /v /f:dcdiag_dns_log.txt |
Korzystanie z przekierowania wyjścia >:
1 |
dcdiag /test:DNS /v > dcdiag_dns_log.txt |
Korzystanie z polecenia cmdlet programu PowerShell Out-File:
1 |
dcdiag /test:DNS /v | Out-File dcdiag_dns_log.txt |
Sprawdź stan replikacji usługi Active Directory za pomocą narzędzia REPADMIN
Narzędzie REPADMIN to narzędzie wiersza poleceń używane w środowiskach Microsoft Windows Server do zarządzania i rozwiązywania problemów z replikacją w Active Directory.
Administratorzy systemu używają go przede wszystkim do diagnozowania i rozwiązywania problemów z replikacją Active Directory pomiędzy kontrolerami domeny.
Sprawdź synchronizację czasu i udziały sieciowe
Nieprawidłowy czas serwera może również przyczynić się do błędów Active Directory. Aby przetestować, uruchom poniższe polecenie na kontrolerze domeny.
1 |
w32tm /monitor |
Pożądanym rezultatem jest to, że przesunięcie NTP wynosi około 0 (+/-), co oznacza, że czas serwera nie jest zbyt odległy.
Sprawdź także, czy wszystkie kontrolery domeny mają foldery SYSVOL i Netlogon opublikowane jako udziały sieciowe. Te foldery są potrzebne do stosowania i replikowania obiektów zasad grupy. Listę folderów współdzielonych na DC można wyświetlić za pomocą polecenia:
1 |
net share |
Podsumowanie
Regularne sprawdzanie stanu usługi Active Directory jest ważne, aby mieć pewność, że działa ona sprawnie i bezpiecznie. Korzystając z poleceń i technik opisanych w tym artykule, administratorzy systemu mogą szybko zidentyfikować i naprawić wszelkie mogące wystąpić problemy. Pomoże to zapobiec niedostępności lub uszkodzeniu usługi AD, co może spowodować poważne zakłócenia w infrastrukturze IT organizacji.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).