DCDiag: Wie man die Gesundheit des Domänencontrollers mit Powershell überprüft. DCDiag ist ein leistungsstarkes Befehlszeilentool, das zur Diagnose von Problemen mit Domänencontrollern in einer Microsoft Windows Active Directory-Umgebung verwendet wird. Wir verwenden es, um die Gesundheit der Domänencontroller zu überprüfen, Fehler oder Inkonsistenzen zu identifizieren und Replikationsprobleme zu beheben. DCDiag hilft Administratoren auch dabei, Probleme mit der DNS-Konfiguration, der SYSVOL-Replikation und anderen wichtigen Diensten zu erkennen und zu beheben, die für die ordnungsgemäße Funktion von Active Directory erforderlich sind.
Wir untersuchen DCDiag, ein leistungsfähiges Microsoft Windows-Tool. Wir verwenden es, um DNS-Dienste zu testen, die Gesundheit der Domänencontroller zu bewerten und sogar Fehler automatisch zu korrigieren. Obwohl relativ einfach, ist das Tool stark genug, um die Gesundheit all unserer Domänencontroller aufrechtzuerhalten.
Sollen wir mit dem Artikel „DCDiag: So überprüfen Sie die Integrität eines Domänencontrollers mit Powershell“ beginnen?
DCDiag: So überprüfen Sie die Integrität eines Domänencontrollers mit Powershell
Installation des DCDiag-Tools
Wenn wir Windows Server ausführen, sollten wir DCDiag installiert haben. Microsoft hat DCDiag in die neueren Windows Server-Versionen integriert, ab 2012R2 und späteren Versionen.
Zweck des DCDiag-Tools
Das Ziel von DCDiag besteht darin, Probleme bei Domänen-Controllern in einer Windows-Serverumgebung zu diagnostizieren und zu beheben. Es handelt sich um ein Befehlszeilen-Tool, das eine breite Palette von Integritätsprüfungen an einem Domänencontroller durchführt, einschließlich Tests für DNS, Replikation, LDAP, Sicherheitsanalysen eines einzelnen oder mehrerer DCs gleichzeitig innerhalb unseres AD-Waldes oder Unternehmens. Lassen Sie uns einige der verschiedenen Tests durchgehen, die DCDiag an einem Domänencontroller durchführt:
- Konnektivitätstests – DCDiag überprüft, ob der Domänencontroller mit dem Netzwerk verbunden ist und mit anderen Domänencontrollern kommunizieren kann.
- DNS-Tests – prüft, ob der Domaincontroller die DNS korrekt auflöst und registriert.
- Replikationstests– testet, ob der Domaincontroller genau mit anderen Domaincontrollern repliziert.
- Vertrauensstests – DCDiag prüft, ob der Domaincontroller anderen Domänen vertraut und ob andere Domänen dem Domaincontroller vertrauen.
- LDAP-Tests– überprüft, ob LDAP-Abfragen auf dem Domaincontroller korrekt funktionieren.
- Kerberos-Tests – DCDiag prüft, ob die Kerberos Authentifizierung auf dem Domaincontroller korrekt funktioniert.
- SYSVOL Tests – DCDiag prüft, ob die SYSVOL-Replikation korrekt auf dem Domänencontroller funktioniert.
- Global Catalog Tests – DCDiag überprüft, ob der DC als Global Catalog-Server fungiert und ob Global Catalog-Abfragen korrekt funktionieren.
Überblick über das DCDiag-Tool
Nun, mit dem Artikel DCDiag: So überprüfen Sie die Gesundheit eines Domänencontrollers mithilfe von Powershell ist ein einfaches Kommandozeilen-Werkzeug. Wir führen DCDiag in einem CMD-Prompt oder einem PowerShell-Fenster aus. Denken Sie daran, Administratorrechte zu verwenden.
Die grundlegende Syntax von DCDiag lautet wie folgt:
dcdiag.exe /s:[:] [/u:\ /p:*||””]
Dabei gilt:
- /s – Der Domänencontroller
- /u:\ – Der Benutzername
- \p:* – Das Passwort
Diese grundlegende Kommandozeile gibt die Testresultate zurück, die den primären (Verbindungs-)Test und jeden angegebenen Test am Domänencontroller zeigen. Um zu erfahren, wie man DCDiag Befehl zusammen mit all seinen Schaltern verwendet, beginnen wir mit dem Hilfebefehl:
dcdiag /?
DCDiag-Schaltparametern
Um einen der folgenden Schalter zu verwenden, fügen Sie ihn nach dem DCDiag-Befehl an. Ein Überblick über die beliebten Befehlsoptionen:
- /s <ServerName> – Gibt den Namen des Servers an, der getestet werden soll. Wenn kein Servername angegeben wird, testet DCDiag den lokalen Computer.
- /v – Liefert ausführliche Ausgabe und zusätzliche Informationen zu den durchgeführten Tests.
- /test:<TestName> – Gibt den Namen des auszuführenden Tests an. Wir führen mehrere Tests durch, indem wir mehrere /test-Schalter angeben.
- /e – Führt einen umfassenden Satz von Tests für den angegebenen Domain Controller durch.
- /fix – Versucht, Probleme zu beheben, die bei den Tests gefunden wurden.
- /f:<LogFileName> – Gibt den Namen der Protokolldatei an, die erstellt werden soll.
- /c – Gibt an, dass DCDiag nur die für die Anzeige der Dienste des Domänencontrollers erforderlichen Tests durchführen soll.
- /skip:<TestName> – Überspringt den angegebenen Test.
- /l:<LogFileName> – Legt den Log-Dateinamen fest, an den angehängt werden soll, anstatt ihn zu überschreiben.
- /q – Legt den Leerlaufmodus fest, der die Anzeige von Informationsnachrichten unterdrückt.
- /test:DNS – Führt DNS-Tests für den angegebenen Domaincontroller durch.
- /test:KCC – Führt KCC-Tests für den angegebenen Domaincontroller durch.
- /test:Replications – Führt Replikation-Tests für den angegebenen DC durch.
- /test:Advertising – Führt Werbetests für den angegebenen DC durch.
- /test:Services – Führt Diensttests für den angegebenen DC durch.
Oben sind einige der am häufigsten verwendeten DCDiag Befehlszeilenschalter, aber es stehen noch viele weitere Optionen zur Verfügung. Wir können eine vollständige Liste der Schalter und ihrer Definitionen erhalten, indem wir den Hilfebefehl oben ausführen.
Probieren Sie unser Active Directory Health DC Reporting Tool aus
Testen Sie uns kostenlos, Zugang zu allen Funktionen. – 200+ AD Berichtsvorlagen verfügbar. Erstellen Sie ganz einfach Ihre eigenen AD Berichte.
Durchführung von DCDiag und Anwendungsfälle
Um DCDiag auszuführen, geben Sie einfach den DCDiag-Befehl ohne irgendwelche Schalter ein, um einen grundlegenden DCDiag-Test auf unserem lokalen DC (oder Argument) durchzuführen.
dcdiag.exe
Da DCDiag automatisch den aktuellen (lokalen) DC identifiziert, werden weder ein Domänencontroller noch Administratoranmeldeinformationen benötigt. Im folgenden Abschnitt diskutieren wir mehrere Anwendungsfälle unter Verwendung der Schaltschwellenparameter von DCDiag.
Fernsteuerung von DC-Gesundheitsprüfungen
Wir müssen den /s: -Schalter am Ende des Namens des DC und seiner Anmeldeinformationen hinzufügen, um Diagnosen auf einem entfernten DC (Benutzername und Kennwort) auszuführen. Zum Beispiel:
dcdiag.exe /s:dc01 /u:dc01\Administrator /p:password
Der DCPromo und die Registrierung in DNS, die lokal ausgeführt werden und nicht für einen Domänencontroller bestimmt sind, werden nicht durch den /s -Schalter betroffen sein.
Beachten Sie, dass wenn wir die /u (Benutzername) -Information eingeben, wir den Benutzernamen mit Domänenadministratorberechtigungen angeben müssen und das korrekte Format verwenden: Domain/Benutzername. Zum Beispiel fügen wir den Benutzernamen (Administrator) mit dem Domänennamen (dc01) an: /u:dc01\Administrator.
Gesundheitsprüfung für alle DCs
Wir verbinden jedes AD-Standort, das möglicherweise eine Sammlung von DCs enthält, miteinander. Der /a Schalter ist von Vorteil, wenn wir das AD in Standorte aufteilen. Er ermöglicht es uns, die DCDiag-Utility gleichzeitig für alle Standort-DCs auszuführen:
dcdiag.exe /s:dc01 /a
Lesen Sie auch DNS-Server auf Windows Server installieren und konfigurieren
Verwenden von DCDiag zur DNS-Überprüfung
Egal was wir testen, das DCDiag-Tool überprüft immer standardmäßig während des Haupt-Konnektivitätstests die DNS-Registrierung jedes Domänencontrollers. Auch können wir spezifische DNS-Tests durchführen, wie Forwarder, Registrierungs-Einträge und andere, die alle dabei helfen, DNS-Probleme zu untersuchen. Um DNS zu testen, verwenden Sie den folgenden Befehl:
dcdiag.exe /s:dc01 /test:dns
Die folgenden grundlegenden Tests laufen standardmäßig mit Ausnahme der externen Namensauflösung. Alle DNS-Ergebnisse zeigen den DNSBasic-Test an. Wenn kein Wert vorhanden ist, wird der /test:dns Schalter automatisch auf /DNSall gesetzt. Hier sind einige DNS-spezifische Tests aufgeführt, die wir beim Verwenden des DCDiag-Tools aufrufen:
- /DNSBasic – Überprüft, ob der DNS-Server des Domänencontrollers korrekt konfiguriert ist und Namen auflöst.
- /DnsDelegation – Testet, ob DNS-Delegierungen korrekt für den Domänencontroller konfiguriert sind.
- /DnsForwarders – Überprüft, ob DNS Forwarder korrekt für den Domänencontroller konfiguriert sind.
- /DnsDynamicUpdate – Überprüft, ob der Domänencontroller dynamische Updates für DNS durchführt.
- /DnsRecordRegistration – Testet, ob die DNS-Registrierung des Domänencontrollers aktuell und genau ist.
Diese Tests stellen sicher, dass die DNS-Konfiguration eines Domänencontrollers korrekt und ordnungsgemäß funktioniert. Wenn DCDiag während dieser Tests Probleme feststellt, behebt DCDiag sie umgehend, um mögliche Probleme mit Active Directory und anderen Netzwerkdiensten zu vermeiden. Ein DNS-Test sollte wie folgt aussehen:
Anpassen der DCDiag-Ergebnisse
DCDiag ermöglicht es uns, die Ergebnisse durch die Anzeige von weniger oder mehr Informationen zu individualisieren. Auch können die Ergebnisse für eine spätere Analyse exportiert werden. Hier sind einige Beispiele dafür, wie wir DCDiag Berichte anpassen können.
DCDiag im Leise-Modus ausführen
Der leise /q Schalter ist sehr praktisch, da er die Ausgabegröße reduziert, indem nur die Fehlermeldungsliste angezeigt wird. Hier ist ein Beispiel für DCDiag im Leise-Modus:
dcdiag.exe /s:dc01 /q
Die Ausgabe mit dem /q ist nur auf Fehler beschränkt und sieht wie folgt aus:
Führen Sie DCDiag mit ausführlichem Ausgang
Indem Sie das /v ausführliche Flag hinzufügen, führen Sie DCDiag mit ausführlichem Ausgang aus. Es bietet uns mehr Informationen über unsere täglichen Aufgaben, wie z. B. Fehler, Warnungen, Informationsnachrichten usw. Der /v Schalter ist das Gegenteil des leisen /q Schalters.
Wie bereits erwähnt, liefert DCDiag (ohne /v) ausreichende Details, um jegliche Probleme mit unserem Domänencontroller zu identifizieren und zu beheben, was in den meisten Fällen ausreichend sein kann. Hier ist ein Beispiel für den Auszug mit dem ausführlichen Schalter:
dcdiag.exe /s:dc01 /v
Der Ausgang mit dem /v Schalter sollte so aussehen:
Wir empfehlen den ausführlichen Ausgang nur, wenn wir in der Standardzusammenfassungstabelle Warnungen oder Fehler sehen und das Problem im Detail untersuchen möchten.
Exportieren der DCDiag-Ergebnisse
Das DCDiag-Werkzeug erlaubt es uns, die Gesundheitscheck-Ergebnisse zu exportieren. Zum Beispiel speichern wir alle Testresultate in eine Textdatei, indem wir dem DCDiag-Befehl den /f Schalter anhängen. Zum Beispiel:
dcdiag.exe /s:dc01 f:c:\dcdiag_dc01_test01.txt
Beachten Sie, dass wir den Namen der Log-Datei anpassen und sie in einem bestimmten Ordner speichern. Wir öffnen die Ergebnisse in einem Texteditor oder einem beliebigen Programm, das .txt-Dateien unterstützt.
Wir exportieren auch Ergebnisse in XLSX oder XML. Allerdings funktioniert diese Funktion nur für den /test:dns Schalter:
dcdiag.exe /test:dns /x or, /test:dns/x:
Das DCDiag ist lediglich ein Diagnosewerkzeug. Daher führt es verschiedene Tests durch und liefert ausschließlich seine Ergebnisse. Der /fix Schalter ist jedoch ein großartiger Schalter, der versucht, die festgestellten Probleme sicher zu beheben.
dcdiag.exe /s:dc01 /fix
Wir müssen keine weiteren Parameter oder Merkmale angeben, wenn wir den /fix Schalter verwenden. Für den MachineAccount-Test ist nur der /f Schalter funktionsfähig. Er behebt das MachineAccount Objekt des DC’s Service Principal Names (SPNs).
Hinweis:Obwohl DCDiag den (fix) Schalter entwickelt hat, um sichere automatische Reparaturen durchzuführen, ändert es dennoch den Domänencontroller. Daher sollten Sie die Testresultate vor der Verwendung des /f Schalters prüfen und immer eine Sicherung des DC erstellen.
Verwenden von DCDiag mit PowerShell
Es gibt kein DCDiag-Gegenstück in Windows PowerShell. Wir verwenden jedoch DCDiag in PowerShell, indem wir den Befehl dcdiag.exe mit den entsprechenden Parametern unter Verwendung der Invoke-Expression oder Invoke-Command Cmdlets ausführen. Hier ist ein Beispiel, wie man DCDiag in PowerShell verwendet, um die DNS-Tests durchzuführen:
Invoke-Expression "dcdiag.exe /test:DNS /v"
In diesem Beispiel haben wir das Invoke-Expression Cmdlet verwendet, um den Befehl dcdiag.exe mit dem /test:DNS Parameter auszuführen, um die DNS-Tests durchzuführen, und den /v Parameter, um ausführliche Ausgaben bereitzustellen. Natürlich können wir /test:DNS durch jeden anderen DCDiag-Test ersetzen, den wir ausführen möchten. Alternativ verwenden wir das Invoke-Command Cmdlet, um DCDiag auf einem Remote-Computer auszuführen.
Hier ist ein weiteres Beispiel:
Invoke-Command -ComputerName "ServerName" -ScriptBlock { dcdiag.exe /test:DNS /v }
Im vorherigen Beispiel haben wir den -ScriptBlock-Parameter mit Invoke-Command verwendet, um den Code anzugeben, den wir auf dem entfernten Computer ausführen wollten. Der -ScriptBlock-Parameter nimmt einen Skriptblock an, im Wesentlichen einen Codeblock in geschweiften Klammern {}.
Wenn wir Invoke-Command mit dem -ScriptBlock-Parameter verwenden, führen wir den Skriptblock auf dem mit dem -ComputerName-Parameter angegebenen entfernten Computer aus, und der Skriptblock gibt die Ausgabe an den lokalen Computer zurück. Die Verwendung des -ScriptBlock-Parameters mit Invoke-Command ist eine leistungsstarke Möglichkeit, Befehle oder Skripte auf entfernten Computern auszuführen. Es hilft dabei, eine große Anzahl von Computern in einer Netzwerkumgebung zu verwalten, ganz ähnlich wie wir das Tool DCDiag verwendet haben.
Vielen Dank fürs Lesen von DCDiag: Wie man die Gesundheit des Domänencontrollers mit Powershell überprüft. Wir werden den Artikel jetzt abschließen.
Abschließend ist DCDiag ein unverzichtbares Werkzeug für Administratoren, die Active Directory Umgebungen verwalten. Durch die Bereitstellung einer umfassenden Reihe von Gesundheitsprüfungen für Domänen -Controller können Administratoren Probleme leicht diagnostizieren und beheben. Die Möglichkeit, detaillierte Tests in Bezug auf DNS, Replikation, LDAP, Sicherheit und mehr durchzuführen, macht DCDiag zu einem wertvollen Werkzeug, um die Gesundheit und Stabilität von Domänencontrollern und der Active Directory Umgebung sicherzustellen.
Durch die Integration von DCDiag in regelmäßige Wartungs- und Überwachungs routinen helfen Administratoren, schwerwiegendere Probleme zu verhindern und sicherzustellen, dass ihre Active Directory-Umgebung sicher und zuverlässig bleibt.
Source:
https://infrasos.com/dcdiag-how-to-check-domain-controller-health-using-powershell/