Fehlerbehebung mit Bordmitteln Active-Directory-Troubleshooting mit der PowerShell

Autor / Redakteur: Thomas Joos / Dipl.-Ing. (FH) Andreas Donner

In Active-Directory-Umgebungen ist es immer mal wieder notwendig, Fehler zu suchen oder Optimierungen durchzuführen. Dabei kann auch die PowerShell helfen. Wir stellen einige hilfreiche PowerShell-Cmdlets zum Troubleshooting in Active Directory vor.

Firma zum Thema

Die PowerShell kann gerade bei der Fehlersuche in Active-Directory-Umgebungen oft eine große Hilfe sein.
Die PowerShell kann gerade bei der Fehlersuche in Active-Directory-Umgebungen oft eine große Hilfe sein.
(Bild: © pla2na - stock.adobe.com)

Mit der PowerShell können Administratoren auch auf die Fehlersuche in Active Directory gehen. Der Vorteil besteht darin, dass die PowerShell sehr mächtig darin ist, Einstellungen in Active Directory zu setzen, oder Active Directory auszulesen. Ein weiterer Vorteil bei der Verwendung der PowerShell zur Fehlerbehebung ist, dass weitere Tools aus der Befehlszeile ebenfalls genutzt werden können.

Das heißt, für die Fehlersuche in Active Directory stehen hier auch die Tools repadmin, dcdiag, nltest zur Verfügung. Wie eine solche Problemfindung exemplarisch aussehen kann, zeigt Microsoft auf der Seite „Problembehandlung beim AD-Replikationsfehler 8589“.

Bildergalerie
Bildergalerie mit 5 Bildern

Replikationsfehlern in Active Directory auf der Spur

Um Replikationsfehler in Active Directory zu identifizieren, ist der bekannteste Befehl „repadmin /showreps“. Wenn in der PowerShell die Suche nach einem Problem im Bereich der Replikation beginnt, ist das Befehlszeilentool sicherlich eines der ersten Werkzeuge. Repadmin kann auch ohne PowerShell eingesetzt werden, ist im Ablauf einer Fehlersuche aber durchaus sinnvoll.

Tools aus der Befehlszeile und der PowerShell können in einer Sitzung natürlich gemischt eingesetzt werden. Sollen zum Beispiel zunächst alle Replikationsverbindungen angezeigt werden, die danach Repadmin überprüfen soll, steht dazu das Cmdlet „Get-ADReplicationConnection“ bereit.

Der Befehl zeigt an, ob auf einzelnen Domänencontrollern Replikationsfehler vorhanden sind. Dadurch lassen sich Probleme in Active Directory sehr schnell eingrenzen. Um Fehler auf Basis der Replikationsziele anzuzeigen, ist folgende Option nutzbar:

repadmin /replsummary /bydest

Sollen die Fehler auf Basis der Replikationsquellen zu den Zielen angezeigt werden, wird der folgende Befehl verwendet:

repadmin /replsummary /bysrc

Dadurch ergibt sich schnell ein Bild, welche ein- und ausgehenden Replikationen nicht richtig funktionieren. Der Standardbefehl für das Überprüfen der Replikation ist

Repadmin /showreps

Um alle Fehler anzuzeigen, wird der folgende Befehl verwendet:

repadmin /showrepl /errorsonly

Ob auf einem Domänencontroller Replikationen ausgesetzt sind, weil keine Kommunikation mit anderen Domänencontrollern möglich ist, kann mit Repadmin ebenfalls getestet werden:

repadmin /queue

Funktioniert die Replikation, sollte die Queue abgearbeitet werden, und gegen 0 laufen.

Replikationsfehler mit Get-ADReplicationFailure und Sync-ADObject entdecken

Mit dem Cmdlet „Get-ADReplicationFailure“ steht auch ein Befehl zur Verfügung, mit dem in der PowerShell nach Replikationsfehlern gesucht werden kann. Das Cmdlet benötigt noch den Parameter „-Target“ und den Namen des Domänencontrollers, der überprüft werden soll. Ein Beispiel für den Befehl ist:

Get-ADReplicationFailure -Target dc01

Sollen mehrere Domänencontroller überprüft werden, können die Namen mit Kommata getrennt angefügt werden. Als Target kann auch eine komplette Gesamtstruktur in Active Directory verwendet werden:

Get-ADReplicationFailure -Target „joos.int“ -Scope Forest

Wenn das Cmdlet mit einzelnen Domänencontrollern keine Verbindung aufbauen kann, ist hier schon ein erster Ansatz zu finden, wo es Probleme bei der Replikation gibt. Besteht der Verdacht, dass ein Domänencontroller keine Replikation entgegennimmt, kann in der PowerShell mit „Sync-ADObject“ ein einzelnes Objekt, zum Beispiel ein Benutzer, zu diesem DC synchronisiert werden.

Gelingt das nicht, scheinen der ausgehende (Replikationsquelle) oder eingehende Domänencontroller (Replikationsziel) das Problem zu sein. Kann sich der ausgehende Domänencontroller mit anderen Domänencontrollern synchronisieren, ist der eingehende Domänencontroller das Problem.

Netzwerkverbindungen zwischen DCs überprüfen

Um zu überprüfen, ob sich Domänencontroller im Netzwerk gegenseitig erreichen können, wird normalerweise das Befehlszeilen-Tool „ping“ genutzt. Hier steht in der PowerShell aber mit „Test-NetConnection“ eine bessere Möglichkeit zur Verfügung:

Test-NetConnection dc02

Mit dem Parameter „-Port“ kann auch die Verfügbarkeit von Ports überprüft werden. Dadurch kann bei der Fehlersuche sichergestellt werden, ob einzelne Ports zwischen den DCs unter Umständen durch falsch konfigurierte Firewalls blockiert werden. Hier können zum Beispiel folgende Ports überprüft werden:

LDAP: 389 (TCP, UDP)
LDAP: (SSL) 686 (TCP)
Globaler Katalog: 3268 (TCP)
Globaler Katalog (SSL): 3269 (TCP)

Diese Ports sollten zwischen Domänencontrollern geöffnet sein. Die SSL-Ports werden natürlich nur geöffnet, wenn diese Sicherheitsmaßnahme, wie von Microsoft empfohlen, in Active Directory auch umgesetzt wurde.

Secure Channel überprüfen – Test-ComputerSecureChannel

Hat ein Mitglied-Server Probleme mit dem Secure-Channel zur Domäne, dann funktioniert die Anbindung an die Domänencontroller nicht. Das kann vor allem für Mitgliedsserver problematisch sein. Mit dem Cmdlet „Test-ComputerSecureChannel“ lässt sich der Secure-Channel überprüfen. Ohne Parameter wird die Verbindung zur Domäne an sich getestet, also zu dem Domänencontroller, der gerade erreichbar ist.

Mit „Test-ComputerSecureChannel“ kann auch eine Verbindung vom Server zu einem bestimmten Domänencontroller getestet werden:

Test-ComputerSecureChannel -Server dc01

Werden Fehler angezeigt, können die Informationen mit dem Parameter „-verbose“ ausführlicher gelistet werden.

Funktioniert die Verbindung nicht, kann mit dem Cmdlet auch eine Reparatur durchgeführt werden:

Test-ComputerSecureChannel -Repair

(ID:47300419)

Über den Autor

 Thomas Joos

Thomas Joos

Freiberuflicher Autor und Journalist