DCDiag

Dotyczy: Windows Server 2022, Windows Server 2019, Windows Server 2016

DCDiag.exe analizuje stan kontrolerów domeny (DC) w lesie lub przedsiębiorstwie i zgłasza wszelkie problemy, aby pomóc w rozwiązywaniu problemów. Jako program raportowania użytkowników końcowych DCDiag to narzędzie wiersza polecenia, które hermetyzuje szczegółową wiedzę na temat identyfikowania nietypowych zachowań w systemie.

Domyślnie narzędzie DCDiag jest łatwo dostępne, jeśli zalogowano się do kontrolera domeny. Alternatywną metodą uzyskiwania dostępu do narzędzia DCDiag jest zainstalowanie na urządzeniu narzędzi administracji zdalnej serwera (RSAT). Narzędzie DCDiag musi być uruchamiane z uprawnieniami administracyjnymi z wiersza polecenia z podwyższonym poziomem uprawnień (CMD) lub programu PowerShell.

DCDiag składa się z platformy do wykonywania testów i serii testów w celu zweryfikowania różnych obszarów funkcjonalnych systemu. Ta struktura wybiera, który kontroler domeny jest testowany zgodnie z dyrektywami zakresu od użytkownika, takimi jak przedsiębiorstwo, lokacja lub pojedynczy serwer. Testowanie ogólnej łączności i czasu odpowiedzi kontrolera domeny obejmuje sprawdzenie:

  • Kontroler domeny może znajdować się w systemie DNS
  • Kontroler domeny odpowiada na polecenia ping protokołu ICMP (Internet Control Message Protocol)
  • Kontroler domeny umożliwia łączność protokołu LDAP (Lightweight Directory Access Protocol) przez powiązanie z wystąpieniem
  • Kontroler domeny umożliwia powiązanie z interfejsem RPC usługi AD przy użyciu funkcji DsBindWithCred .

Note

Blokowanie protokołu ICMP uniemożliwia działanie narzędzia DCDiag zgodnie z oczekiwaniami. Chociaż blokowanie protokołu ICMP jest zalecane na brzegu Internetu sieci, wewnętrznie blokowanie ruchu ICMP prowadzi do problemów administracyjnych, które przerywają starsze zasady grupy, wykrywanie routera czarnej lub nieefektywne rozmiary jednostki MTU z powodu braku opcji odnajdywania. Dotyczy to również narzędzi do rozwiązywania problemów, takich jak ping.exe lub tracert.exe .

DCDiag syntax

dcdiag [/s:<DomainController>] [/n:<NamingContext>] [/u:<Domain>\<UserName> /p:{* | <Password> | ""}] [{/a | /e}] [{/q | /v}] [/i] [/f:<LogFile>] [/c [/skip:<Test>]] [/test:<Test>] [/fix] [{/h | /?}] [/ReplSource:<SourceDomainController>]

DcDiag używa następujących parametrów:

Parameter Description
/s:<DomainController> Określa nazwę serwera do uruchomienia polecenia. Jeśli ten parametr nie zostanie określony, testy są uruchamiane względem lokalnego kontrolera domeny.

Ten parametr jest ignorowany dla testów DcPromo i RegisterInDns, które można uruchamiać tylko lokalnie.
/n:<NamingContext> Do testowania używa elementu NamingContext jako kontekstu nazewnictwa. Można określić domeny w netBIOS, systemie nazw domen (DNS) lub formacie nazwy wyróżniającej.
/u:<Domain>\<UserName> /p:{<Password> | ""} Uses Domain\UserName. Narzędzie DCDiag używa bieżących poświadczeń użytkownika (lub procesu), który jest zalogowany. Jeśli potrzebne są alternatywne poświadczenia, użyj następujących opcji, aby podać te poświadczenia do powiązania z hasłem jako hasło: użyj cudzysłowów ("") dla pustego lub pustego hasła. Użyj symbolu wieloznacznego (*) , aby wyświetlić monit o hasło.
/a Sprawdza wszystkie serwery w tej lokacji usług AD DS.
/e Sprawdza wszystkie serwery w przedsiębiorstwie. Zastępuje to /a.
/q Quiet. Drukuje tylko komunikaty o błędach.
/v Verbose. Drukuje rozszerzone informacje.
/fix Dotyczy tylko testu MachineAccount. Ten parametr powoduje, że test naprawi główne nazwy usługi (SPN) w obiekcie konta komputera kontrolera domeny.
/f:<LogFile> Przekierowuje wszystkie dane wyjściowe do pliku dziennika.
/c Comprehensive. Uruchamia wszystkie testy z wyjątkiem DCPromo i RegisterInDNS, w tym testów innych niż domyślne. Opcjonalnie możesz użyć tego parametru z parametrem /skip , aby pominąć określone testy.

Następujące testy nie są domyślnie uruchamiane:
  • Topology
  • CutoffServers
  • OutboundSecureChannels.
/h lub /? Wyświetla pomoc w wierszu polecenia.
/test:<Test> Uruchamia ten test tylko. Nie można pominąć testu łączności z parametrem /skip .
/ReplSource:<SourceDomainController> Testuje połączenie między kontrolerem domeny, na którym jest uruchamiane polecenie i źródłowy kontroler domeny. (Ten parametr jest używany do testu CheckSecurityError).

SourceDomainController to nazwa DNS, nazwa NetBIOS lub nazwa wyróżniająca rzeczywistego lub potencjalnego serwera, który będzie źródłowym kontrolerem domeny na potrzeby replikacji, reprezentowanym przez rzeczywisty lub potencjalny obiekt połączenia.

Znane testy DCDiag

W poniższej tabeli przedstawiono znane testy, które są uruchamiane domyślnie, chyba że określono inaczej.

Test Description
Advertising Sprawdza, czy każdy kontroler domeny anonsuje się w rolach, które powinny być w stanie wykonać. Ten test sprawdza, czy publiczna funkcja DsGetDcName używana przez komputery do lokalizowania kontrolerów domeny będzie poprawnie lokalizować wszystkie kontrolery domeny.

Ten test kończy się niepowodzeniem, jeśli usługa Netlogon została zatrzymana lub nie powiodła się. Jeśli usługa klucza dystrybucji kluczy (KDC) zostanie zatrzymana, test reklamowy zakończy się niepowodzeniem, ponieważ flaga zwrócona z domeny DsGetDcName nie będzie zawierać centrum dystrybucji kluczy. Jeśli port 88 za pośrednictwem protokołu TCP i UDP jest zablokowany w zaporze, test reklamy zakończy się powodzeniem, mimo że centrum dystrybucji kluczy nie może odpowiedzieć na żądania biletów Protokołu Kerberos.
CheckSDRefDom Sprawdza, czy wszystkie partycje katalogu aplikacji mają odpowiednie domeny odwołań deskryptora zabezpieczeń.

Ten test używa protokołu LDAP i weryfikuje obiekty odwołania krzyżowego znajdujące się w folderze cn=partitions,cn=configuration,dc=<forest root domain> zawierają poprawne nazwy domen w atrybutach msDS-SDReferenceDomain .
CheckSecurityError Test nie jest uruchamiany domyślnie. Przeprowadza różne kontrole zabezpieczeń pod kątem błędów związanych ze składnikami zabezpieczeń kontrolera domeny, takich jak problemy z zasadami zabezpieczeń lub bazy danych zabezpieczeń przy użyciu protokołu LDAP, RPC, RPC za pośrednictwem protokołu SMB i protokołu ICMP. It checks:
  • To co najmniej jedno centrum dystrybucji kluczy jest w trybie online dla każdej domeny i jest osiągalne.
  • Ten obiekt komputera kontrolerów domeny został zreplikowany do innych kontrolerów domeny.
  • Jeśli fragmentacja pakietów Protokołu Kerberos za pośrednictwem protokołu UDP może być problemem na podstawie bieżącego rozmiaru jednostki MTU, wysyłając pakiety ICMP niefragmentujące.
  • Czy nie ma żadnych problemów z replikacją lub połączeniem sprawdzania spójności informacji (KCC) dla połączonych partnerów, wysyłając zapytanie do funkcji DsReplicaGetInfo w celu uzyskania błędów związanych z zabezpieczeniami.
  • Jeśli konto komputera kontrolerów domeny istnieje w usłudze Active Directory (AD) w ramach domyślnej jednostki organizacyjnej kontrolerów domeny wraz z poprawnymi flagami UserAccountControl dla kontrolerów domeny, ustawione są poprawne atrybuty ServerReference i skonfigurowano minimalną wymaganą nazwę główną usługi (SPN).

Po dodaniu parametru /ReplSource partner sprawdza również:
  • Czas niesymetryczności obliczony między serwerami w celu sprawdzenia, czy jest krótszy niż 300 sekund (5 minut) dla protokołu Kerberos. Nie sprawdza zasad protokołu Kerberos, aby sprawdzić, czy dozwolone niesymetryczność została zmodyfikowana.
  • Uprawnienia do wszystkich kontekstów nazewnictwa (takich jak Schemat, Konfiguracja itp.) na źródłowym kontrolerze domeny, który weryfikuje funkcje replikacji i łączności między kontrolerami domeny.
  • Łączność w celu sprawdzenia, czy użytkownik z uruchomioną usługą DCDiag może nawiązać połączenie i odczytać udziały SYSVOL i NETLOGON bez żadnych błędów zabezpieczeń.
  • Dostęp do tego komputera z uprawnienia sieciowego na kontrolerze domeny jest sprawdzany, aby sprawdzić, czy jest on przechowywany przez grupy Administratorzy, Uwierzytelnieni użytkownicy i Wszyscy .
  • Obiekt komputera kontrolera domeny jest sprawdzany, aby upewnić się, że jest to najnowsza wersja na kontrolerach domeny. Ma to na celu udowodnienie zbieżności replikacji wraz ze sprawdzeniem wersji, numerów USN, serwerów źródłowych i znaczników czasu.
Connectivity Sprawdza, czy serwery DSA i DNS są zarejestrowane i osiągalne przy użyciu protokołu LDAP i RPC.
CrossRefValidation Pobiera listę kontekstów nazewnictwa znajdujących się w cn=partitions,cn=configuration,dc=<domena> główna lasu wraz z ich odsyłaczami, a następnie weryfikuje je podobnie jak w teście CheckSDRefDom przy użyciu LDAP. Ten test sprawdza atrybuty nCName, dnsRoot, nETBIOSName i systemFlags:
  • Upewnij się, że nazwy sieci DN nie są nieprawidłowe ani mają wartości null.
  • Upewnij się, że nazwy DN nie zostały zmienione przez CNF lub 0ADEL.
  • Upewnij się, że błędy systemFlags są poprawne dla tego obiektu.
  • Wywołaj puste (oddzielone) zestawy replik.
CutoffServers Testuje replikację usługi AD, aby upewnić się, że nie ma kontrolerów domeny bez działających obiektów połączenia między partnerami. Wszystkie serwery, które nie mogą replikować ruchu przychodzącego lub wychodzącego z żadnych kontrolerów domeny, są uznawane za odcięte przy użyciu funkcji DsReplicaSyncAll , która wyzwala replikację na kontrolerach domeny. Użyj parametru /e z ostrożnością, jeśli są słabo zaimplementowane łącza sieci WAN, które są przechowywane czyste przy użyciu harmonogramów.

Jeśli nie można skontaktować się z serwerem lub jest niedostępny dla protokołu LDAP w sieci, nie zawiera żadnych błędów ani wyników testu, nawet jeśli /v określono parametr. W tym teście użyto procedury RPC.
DcPromo Sprawdza serwer określony w ustawieniach DNS klienta, jeśli infrastruktura spełnia wymagania niezbędne do podwyższenia poziomu urządzenia do kontrolera domeny. Ten test używa systemu DNS w sieci i sprawdza:
  • Jeśli co najmniej jedna karta sieciowa ma podstawowy zestaw serwerów DNS.
  • Jeśli istnieje rozłączna przestrzeń nazw na podstawie sufiksu DNS.
  • Można skontaktować się z proponowaną autorytatywną strefą DNS.
  • Jeśli możliwe są dynamiczne aktualizacje DNS dla rekordu A serwera. Sprawdza zarówno ustawienie w autorytatywnej strefie DNS, jak i konfiguracji rejestru klienta dla dnsUpdateOnAllAdapters i DisableDynamicUpdate.
  • Jeśli rekord DClocator LDAP, taki jak _ldap._tcp.dc._msdcs.<domena> jest zwracana podczas wykonywania zapytań dotyczących istniejących lasów.

Wymagane są następujące argumenty:
  • /DnsDomain:<Active_Directory_Domain_DNS_Name>
    • Użycie tego parametru wymaga jednego z następujących argumentów: /ChildDomain, , /NewForest/NewTreelub/ReplicaDC
  • Jeśli /NewTree zostanie określony, wymagany jest następujący argument:
    • /ForestRoot:<Forest_Root_Domain_DNS_Name>
DFSREvent Ten test weryfikuje kondycję usługi™replikacji rozproszonego systemu plików (DFSR), sprawdzając ostrzeżenia i wpisy błędów dziennika zdarzeń DFSR z ostatnich 24 godzin. W tym teście jest używany protokół RPC i Protokół komunikacji zdalnej usługi EventLog.
DNS Sprawdza kondycję DNS w całym przedsiębiorstwie przy użyciu protokołów DNS, RPC i WMI. Nie uruchomiono domyślnie i musi być jawnie wymagane. Zobacz Składnia DNS.
FrsEvent Sprawdza, czy w dzienniku zdarzeń usługi replikacji plików (FRS) występują błędy z ostatnich 24 godzin, ponieważ replikacja udziału SysVol kończy się niepowodzeniem, może powodować problemy z zasadami. W tym teście jest używany protokół RPC i Protokół komunikacji zdalnej usługi EventLog.
Intersite Sprawdza błędy, które mogłyby uniemożliwić lub tymczasowo wstrzymać replikację między lokacjami i przewidzieć, jak długo potrwa odzyskiwanie KCC. Ten test używa funkcji DRS do sprawdzania warunków, które uniemożliwiają replikację międzylokacyjnej usługi AD w ramach określonej lokacji lub wszystkich lokacji przez:
  • Lokalizowanie i łączenie z generatorami topologii międzylokacyjnej (ISTG).
  • Lokalizowanie i nawiązywanie połączenia z serwerami mostka.
  • Raportowanie wszystkich niepowodzeń replikacji po wyzwoleniu replikacji.
  • Weryfikowanie wszystkich kontrolerów domeny w lokacjach z połączeniami przychodzącymi do tej witryny jest dostępne.
  • Sprawdzanie wartości KCC dla przesłonięć IntersiteFailuresAllowed i MaxFailureTimeForIntersiteLink w kluczu rejestru: KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters.

Parametr /a or /e musi być używany jako nieużywnianie lokacji zezwala na uruchamianie testu, ale pomija rzeczywiste testowanie. Ten test używa protokołu RPC przez sieć do testowania aspektów replikacji i prosi o połączenia rejestru w celu sprawdzenia, czy wpisy zastąpić NTDS. Protokół LDAP służy również do lokalizowania informacji o połączeniu.
KccEvent Ten test wysyła zapytanie do KCC na kontrolerze domeny pod kątem błędów i ostrzeżeń wygenerowanych w dzienniku zdarzeń usług katalogowych w ciągu ostatnich 15 minut. Próg 15-minutowy jest niezależnie od wartości rejestru Okres aktualizacji topologii repl (ss) na kontrolerze domeny.

Jeśli reguły zapory powodują, że ten test kończy się niepowodzeniem, zobacz KB2512643 , który obejmuje włączanie tych reguł w celu umożliwienia pomyślnego przeprowadzenia testu. Ten test używa protokołu RPC wraz z protokołem remoting protokołu EventLog.
KnowsOfRoleHolders Ten test zwraca wiedzę kontrolerów domeny na temat pięciu ról elastycznej operacji pojedynczego wzorca (FSMO), ale nie sprawdza wiedzy wszystkich kontrolerów domeny pod kątem spójności. Użycie parametru /e zapewnia dane do porównania. W tym teście protokół RPC jest używany do zwracania ról DSListRoles w ramach funkcji usługi replikacji katalogów (DRS).
MachineAccount Sprawdza, czy konto komputera zostało prawidłowo zarejestrowane i czy usługi są anonsowane przy użyciu protokołu LDAP i RPC za pośrednictwem protokołu SMB, w tym sprawdzania:
  • Konto komputera kontrolera domeny istnieje w usłudze AD.
  • Znajduje się ona w jednostce organizacyjnej kontrolerów domeny.
  • Ma poprawne flagi UserAccountControl dla kontrolerów domeny.
  • Ustawione są poprawne atrybuty ServerReference .
  • Ustawiono minimalną główną nazwę usługi (SPN). Ten test jest identyczny z CheckSecurityError , ponieważ używają tego samego testu wewnętrznego.

Ten test ma również dwie opcje naprawy:
  • /RecreateMachineAccount — Odtwarza brakujący obiekt komputera kontrolera domeny. Nie jest to zalecana poprawka, ponieważ nie tworzy ponownie żadnych obiektów podrzędnych kontrolera domeny, takich jak subskrypcje FRS i DFSR. Najlepszym rozwiązaniem jest użycie prawidłowej kopii zapasowej SystemState w celu autorytatywnego przywrócenia usuniętego obiektu kontrolera domeny i obiektów podrzędnych. Jeśli używasz tej opcji, kontroler domeny musi zostać bezpiecznie zdegradowany i podwyższony, aby naprawić wszystkie brakujące relacje.
  • /FixMachineAccount - Dodaje flagi UserAccountControl TRUSTED_FOR_DELEGATION i SERVER_TRUST_ACCOUNT do obiektu komputera kontrolera domeny. Korzystanie z tej opcji naprawy jest preferowane w stosunku do prób samodzielnego ustawiania tych flag za pomocą ADSIEDIT lub innych edytorów LDAP.
NCSecDesc Sprawdza uprawnienia do wszystkich kontekstów nazewnictwa (takich jak Schemat, Konfiguracja itp.) na źródłowym kontrolerze domeny, aby sprawdzić, czy replikacja i łączność działają między kontrolerami domeny. Upewnia się, że grupy Kontrolery domeny przedsiębiorstwa i Administratorzy mają odpowiednie minimalne uprawnienia, co jest tym samym testem wykonanym w ramach checkSecurityError. Ten test używa protokołu LDAP.
NetLogons Sprawdza, czy użytkownik z uruchomioną usługą DCDiag może nawiązać połączenie i odczytać udziały SYSVOL i NETLOGON bez żadnych błędów zabezpieczeń. Sprawdza również, czy grupa Administratorzy, Użytkownicy uwierzytelnieni i Wszyscy mają dostęp do tego komputera z uprawnienia sieciowego na kontrolerze domeny.
ObjectsReplicated Sprawdza, czy obiekty konta komputera i agenta systemu katalogowego (DSA) zostały zreplikowane. Dwa obiekty są domyślnie weryfikowane i że istnieją w każdym kontrolerze domeny i są aktualne na wszystkich innych kontrolerach domeny:
  • CN=NTDS Settings
  • CN=nazwa kontrolera domeny<>

Możesz użyć parametru /objectdn:dn z parametrem , /n:nc aby określić dodatkowy obiekt do sprawdzenia. Ten test odbywa się przy użyciu procedury RPC z funkcjami DRS.
OutboundSecureChannels Ten test nie jest uruchamiany domyślnie. Sprawdza, czy istnieją bezpieczne kanały ze wszystkich kontrolerów domeny w domenie do domen określonych przez /testdomain parametr . Parametr /nositerestriction uniemożliwia dcDiag ograniczenie testu do kontrolerów domeny w lokacji.
RegisterInDNS Sprawdza, czy serwer katalogów może zarejestrować rekordy DNS lokalizatora serwera katalogu. Te rekordy muszą być obecne w systemie DNS, aby inne komputery zlokalizować ten serwer katalogów <dla domeny Active_Directory_Domain_DNS_Name> . Zgłasza to również, czy są wymagane jakiekolwiek modyfikacje istniejącej infrastruktury DNS. Należy użyć parametru /DnsDomain:<Active_Directory_Domain_DNS_Name> . Ten test sprawdza:
  • Można skontaktować się z autorytatywną strefą DNS.
  • Jeśli co najmniej jedna karta sieciowa ma podstawowy zestaw serwerów DNS.
  • Jeśli masz rozłączną przestrzeń nazw opartą na sufiksie DNS.
  • Można skontaktować się z proponowaną autorytatywną strefą DNS.
  • Jeśli możliwe są dynamiczne aktualizacje DNS dla rekordu A serwera. Sprawdza ustawienia autorytatywnej strefy DNS i konfigurację rejestru klienta DnsUpdateOnAllAdapters i DisableDynamicUpdate.
  • Jeśli rekord DClocator LDAP, taki jak _ldap._tcp.dc._msdcs.<domena> jest zwracana podczas wykonywania zapytań dotyczących istniejących lasów.
Replications Ten test sprawdza wszystkie obiekty połączenia replikacji usługi AD pod kątem wszystkich kontekstów nazewnictwa na określonych kontrolerach domeny, jeśli:
  • Ostatnia próba replikacji zakończyła się pomyślnie lub zwraca błąd.
  • Ta replikacja jest wyłączona.
  • Opóźnienie replikacji wynosi ponad 12 godzin.
RidManager Sprawdza, czy wzorzec identyfikatora względnego (RID) jest dostępny i czy:
  • Zawiera odpowiednie informacje.
  • Można go zlokalizować i skontaktować się z nim za pośrednictwem DsBind.
  • Ma prawidłowe wartości puli identyfikatorów RID.

Właściciel roli musi być w trybie online i dostępny dla kontrolerów domeny, aby móc tworzyć podmioty zabezpieczeń (użytkowników, komputerów i grup), a także aby dalsze kontrolery domeny były promowane w domenie. W tym teście jest używany protokół LDAP i RPC.
Services Ten test sprawdza, czy różne usługi zależne od usługi AD są uruchomione, dostępne i ustawione na określone typy uruchamiania. Te usługi są uruchamiane automatycznie i uruchamiane w procesie udostępnionym, chyba że określono inaczej:
  • DFSR (działa we własnym procesie)
  • DNSCACHE
  • EVENTSYSTEM
  • IISADMIN (w przypadku korzystania z replikacji usługi AD opartej na protokole SMTP)
  • ISMSERV
  • KDC
  • NETLOGON
  • NTDS
  • NTFRS (działa we własnym procesie)
  • RPCSS
  • SAMSS
  • SERVER
  • SMTPSVC (w przypadku korzystania z replikacji usługi AD opartej na protokole SMTP)
  • W32TIME (uruchamia się automatycznie lub ręcznie)
  • WORKSTATION

Te nazwy usług są wymienione w ścieżce rejestru HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services. W tym teście jest używany zdalny protokół RPC i Protokół zdalny programu Service Control Manager .
SysVolCheck Ten test odczytuje klucz rejestru kontrolerów domeny Netlogon SysVolReady w celu sprawdzenia, czy folder SYSVOL jest gotowy. Nazwa wartości musi istnieć z wartością 1, aby przejść ten test i współdziała z replikowanymi adresami SYSVOLs usługi FRS lub DFSR. Nie sprawdza, czy udziały SYSVOL i NELOGON są dostępne, ponieważ jest to wykonywane przez CheckSecurityError. Ten test używa wywołań RPC za pośrednictwem protokołu SMB.
SystemLog Weryfikuje kondycję dziennika zdarzeń systemowych, odczytując i zapisując wpisy z ostatnich 60 minut dla wszelkich błędów i ostrzeżeń. W tym teście jest używany zdalny protokół RPC i Protokół zdalny programu Service Control Manager .
Topology Sprawdza, czy wygenerowana topologia replikacji usługi AD jest w pełni połączona dla wszystkich dsas. Ten test nie jest domyślnie wykonywany i musi być uruchamiany jawnie. It checks:
  • Jeśli automatyczne generowanie topologii wewnątrz lokacji jest wyłączone.
  • Jeśli automatyczne generowanie topologii między lokacjami jest wyłączone.
  • W przypadku odłączonych topologii (brak obiektów połączenia) zarówno nadrzędne, jak i podrzędne z każdego kontrolera domeny odwołania.

Ten test używa protokołów RPC, LDAP i DsReplicaSyncAll z flagą DS_REPSYNCALL_DO_NOT_SYNC, co oznacza, że analizuje i weryfikuje topologię replikacji bez faktycznego replikowania zmian. Ten test nie weryfikuje dostępności partnerów replikacji. Posiadanie partnera w trybie offline nie spowoduje niepowodzeń w tym teście. Nie sprawdza również, czy harmonogram jest zamknięty, co uniemożliwia replikację. Aby wyświetlić te wyniki aktywnej replikacji, użyj tests Replications lub CutoffServers.
VerifyEnterpriseReferences Sprawdza, czy określone odwołania systemowe są nienaruszone dla usługi FRS i infrastruktury replikacji we wszystkich obiektach w przedsiębiorstwie na każdym kontrolerze domeny. Obejmuje to następujące atrybuty i obiekty lokacji kontrolera domeny:
  • frsComputerReference: cn=wolumin systemowy domeny (udział sysvol),cn=subskrypcje ntfrs,cn=<Nazwa> kontrolera domeny,ou=kontrolery domeny,DC=<domena>
  • frsComputerReferenceBL: cn=<Nazwa kontrolera> domeny, cn=wolumin systemowy domeny (udział sysvol),cn=usługa replikacji plików,cn=system,dc=<domena>
  • hasMasterNCs: cn=ntds settings,cn=<nazwa> DC,cn=<site,cn>=sites,cn=configuration,dc=<domain>
  • msDFSR-ComputerReference: cn=<Nazwa> DC,cn=topologia,cn=wolumin systemowy domeny,cn=dfsr-blobalsettings,cn=system,dc=<domena>
  • msDFSR-ComputerReferenceBL: cn=<Nazwa> DC,ou=kontrolery domeny,dc=<domena>
  • nCName: cn=<nazwa> partycji,cn=partycje,cn=konfiguracja,dc=<domena>
  • ServerReference: cn=<nazwa> DC, cn=<lokacja>, cn=lokacje,cn=konfiguracja,dc=<domena>
  • ServerReferenceBL: cn=<Nazwa> DC,ou=kontrolery domeny,dc=<domena>

Dwa testy DFSR są wykonywane tylko wtedy, gdy poziom funkcjonalności domeny to Windows Server 2008 lub nowszy. Oznacza to, że wystąpi oczekiwany błąd, jeśli usługa DFSR nie została zmigrowana do folderu SYSVOL. Ten test używa protokołu LDAP i kontaktuje się tylko z określonymi kontrolerami domeny.
VerifyReferences Sprawdza, czy niektóre odwołania systemowe są nienaruszone dla usługi FRS i infrastruktury replikacji. Ten test sprawdza atrybuty odwołania komputera dla pojedynczego kontrolera domeny, w tym następujące atrybuty lokacji kontrolera domeny i obiekty:
  • frsComputerReference: cn=wolumin systemowy domeny (udział sysvol),cn=subskrypcje ntfrs,cn=<Nazwa> kontrolera domeny,ou=kontrolery domeny,DC=<domena>
  • frsComputerReferenceBL: cn=<Nazwa kontrolera> domeny, cn=wolumin systemowy domeny (udział sysvol),cn=usługa replikacji plików,cn=system,dc=<domena>
  • msDFSR-ComputerReference: cn=<Nazwa> DC,cn=topologia,cn=wolumin systemowy domeny,cn=dfsr-blobalsettings,cn=system,dc=<domena>
  • msDFSR-ComputerReferenceBL: cn=<Nazwa> DC,ou=kontrolery domeny,dc=<domena>
  • ServerReference: cn=<nazwa> DC, cn=<lokacja>, cn=lokacje,cn=konfiguracja,dc=<domena>
  • ServerReferenceBL: cn=<Nazwa> DC,ou=kontrolery domeny,dc=<domena>

Ten test używa protokołu LDAP i jest podobny do testu VerifyEnterpriseRefrences , z tą różnicą, że nie sprawdza odwołań do partycji ani wszystkich innych obiektów kontrolera domeny.
VerifyReplicas Sprawdza, czy wszystkie partycje katalogu aplikacji są w pełni tworzone na wszystkich serwerach repliki. Sprawdza, czy określony serwer hostuje partycje aplikacji określone przez jego atrybuty crossref w kontenerze partycji. Działa jak CheckSDRefDom , z wyjątkiem tego, że nie pokazuje danych wyjściowych i weryfikuje hosting. Ten test używa protokołu LDAP.

Note

Nie można pominąć sprawdzania łączności na kontrolerach domeny, które są zarejestrowane w sieci i łączą się z innymi zasobami, takimi jak DNS, LDAP i RPC.

DNS syntax

dcdiag /test:DNS [/DnsBasic | /DnsForwarders | /DnsDelegation | /DnsDynamicUpdate | /DnsRecordRegistration | /DnsResolveExtName [/DnsInternetName:<InternetName>] | /DnsAll] [/f:<LogFile>] [/x:<XMLLog.xml>] [/xsl:<XSLFile.xsl> or <XSLTFile.xslt>] [/s:<DomainController>] [/e] [/v]

Test DNS używa następujących parametrów:

Parameter Description
/test:DNS Wykonuje określony test DNS. Jeśli nie określono testu, wartość domyślna to /DnsAll.
/DnsBasic Wykonuje podstawowe testy DNS, w tym łączność sieciową, konfigurację klienta DNS, dostępność usługi i istnienie strefy.
/DnsForwarders /DnsBasic Wykonuje testy, a także sprawdza konfigurację usług przesyłania dalej.
/DnsDelegation /DnsBasic Wykonuje testy, a także sprawdza prawidłowe delegowanie.
/DnsDynamicUpdate /DnsBasic Przeprowadza testy, a także określa, czy aktualizacja dynamiczna jest włączona w strefie usługi Active Directory.
/DnsRecordRegistration /DnsBasic Wykonuje testy, a także sprawdza, czy adres (A), nazwa kanoniczna (CNAME) i dobrze znane rekordy zasobów usługi (SRV) są zarejestrowane. Ponadto tworzy raport spisu na podstawie wyników testu.
/DnsResolveExtName [/DnsInternetName:\<InternetName>] /DnsBasic Wykonuje testy, a także próbuje rozpoznać nazwę InternetName. Jeśli /DnsInternetName nie zostanie określony, próbuje rozpoznać nazwę <www.microsoft.com>. Jeśli /DnsInternetName zostanie określony, próbuje rozpoznać nazwę internetową podaną przez użytkownika.
/DnsAll Wykonuje wszystkie testy, z wyjątkiem /DnsResolveExtName testu i generuje raport.
/f:<LogFile> Przekierowuje wszystkie dane wyjściowe do pliku dziennika.
/s:<DomainController> Uruchamia testy względem kontrolera domeny. Jeśli ten parametr nie zostanie określony, testy są uruchamiane względem lokalnego kontrolera domeny.
/e Uruchamia wszystkie testy określone przez /test:DNS wszystkie kontrolery domeny w lesie usługi Active Directory.
/v Verbose. Przedstawia rozszerzone informacje o pomyślnych wynikach testu oprócz informacji o błędach i ostrzeżeniach.
/v Jeśli parametr nie jest używany, zawiera tylko informacje o błędach i ostrzeżeniach. Użyj przełącznika /v , gdy błędy lub ostrzeżenia są zgłaszane w tabeli podsumowania.
/x:<XMLLog.xml> Przekierowuje wszystkie dane wyjściowe do xmllog.xml. Ten parametr działa tylko z opcją /test:DNS .
/xsl:<XSLFile.xsl> lub
/xsl:<XSLTFile.xslt>
Dodaje instrukcje przetwarzania odwołujące się do określonego arkusza. Ten parametr działa tylko z opcją /test:DNS /x:<XMLLog.xml .

Note

Czasy wykonywania testów DNS mogą być znaczące w dużych przedsiębiorstwach, gdy /e parametr jest używany. Kontrolery domeny i serwery DNS, które są w trybie offline, zwiększą czas wykonywania z powodu długich okresów limitu czasu dla RPC i innych protokołów.

Examples

Connectivity test

Aby uruchomić serię testów łączności w domenie lokalnej, uruchom następujące polecenie:

dcdiag

Pomyślne dane wyjściowe testu łączności:

Directory Server Diagnosis


Performing initial setup:

   Trying to find home server...

   Home Server = MapleWaffle-WS22

   * Identified AD Forest. 
   Done gathering initial info.


Doing initial required tests

   
   Testing server: Default-First-Site-Name\MAPLEWAFFLE-WS2

      Starting test: Connectivity

         ......................... MAPLEWAFFLE-WS2 passed test Connectivity


Doing primary tests

      Testing server: Default-First-Site-Name\MAPLEWAFFLE-WS2

      Starting test: Advertising
         ......................... MAPLEWAFFLE-WS2 passed test Advertising

      Starting test: FrsEvent
         ......................... MAPLEWAFFLE-WS2 passed test FrsEvent

      Starting test: DFSREvent
         ......................... MAPLEWAFFLE-WS2 passed test DFSREvent

      Starting test: SysVolCheck
         ......................... MAPLEWAFFLE-WS2 passed test SysVolCheck

      Starting test: KccEvent
         ......................... MAPLEWAFFLE-WS2 passed test KccEvent

      Starting test: KnowsOfRoleHolders
         ......................... MAPLEWAFFLE-WS2 passed test KnowsOfRoleHolders

      Starting test: MachineAccount
         ......................... MAPLEWAFFLE-WS2 passed test MachineAccount

      Starting test: NCSecDesc
         ......................... MAPLEWAFFLE-WS2 passed test NCSecDesc

      Starting test: NetLogons
         ......................... MAPLEWAFFLE-WS2 passed test NetLogons

      Starting test: ObjectsReplicated
         ......................... MAPLEWAFFLE-WS2 passed test ObjectsReplicated

      Starting test: Replications
         ......................... MAPLEWAFFLE-WS2 passed test Replications

      Starting test: RidManager
         ......................... MAPLEWAFFLE-WS2 passed test RidManager

      Starting test: Services
         ......................... MAPLEWAFFLE-WS2 passed test Services

      Starting test: SystemLog
         ......................... MAPLEWAFFLE-WS2 passed test SystemLog

      Starting test: VerifyReferences
         ......................... MAPLEWAFFLE-WS2 passed test VerifyReferences
 
   Running partition tests on : ForestDnsZones

      Starting test: CheckSDRefDom
         ......................... ForestDnsZones passed test CheckSDRefDom

      Starting test: CrossRefValidation
         ......................... ForestDnsZones passed test CrossRefValidation

   Running partition tests on : DomainDnsZones

      Starting test: CheckSDRefDom
         ......................... DomainDnsZones passed test CheckSDRefDom

      Starting test: CrossRefValidation
         ......................... DomainDnsZones passed test CrossRefValidation
   
   Running partition tests on : Schema

      Starting test: CheckSDRefDom
         ......................... Schema passed test CheckSDRefDom

      Starting test: CrossRefValidation
         ......................... Schema passed test CrossRefValidation
   
   Running partition tests on : Configuration

      Starting test: CheckSDRefDom
         ......................... Configuration passed test 
         CheckSDRefDom

      Starting test: CrossRefValidation
         ......................... Configuration passed test 
         CrossRefValidation
   
   Running partition tests on : corp

      Starting test: CheckSDRefDom
         ......................... corp passed test CheckSDRefDom

      Starting test: CrossRefValidation
         ......................... corp passed test CrossRefValidation
   
   Running enterprise tests on : corp.contoso.com

      Starting test: LocatorCheck
         ......................... corp.contoso.com passed test
         LocatorCheck

      Starting test: Intersite
         ......................... corp.contoso.com passed test 
         Intersite

Aby uruchomić serię testów łączności na określonym kontrolerze domeny, uruchom następujące polecenie:

dcdiag /s:<DomainControllerName>

Powinien on wygenerować podobne wyniki jak test lokalny, jeśli nie napotkano żadnych problemów.

Dane wyjściowe do pliku dziennika

Narzędzie DCDiag umożliwia zapisanie wyników wyjściowych w pliku tekstowym, uruchamiając polecenie:

dcdiag /s:<DomainControllerName> /f:<FileName.txt>

Jeśli nie <FilePath> zostanie określony, wyniki zostaną zapisane domyślnie C:\Users\<UserName>\<FileName.txt> .

Aby zapisać w określonej lokalizacji, uruchom polecenie:

dcdiag /s:<DomainControllerName> /f:<DriveLetter>\<FilePath>\<FileName.txt>

See also

Klucz składni wiersza polecenia