So rufen Sie Domänencontrollerinformationen mit PowerShell ab

Informationen über Ihre Active Directory-Domänencontroller mithilfe von PowerShell zu erhalten, ist unerlässlich, wenn Sie Fehler beheben oder sich einen Überblick über Ihre Umgebung verschaffen möchten. Das Cmdlet „Get-ADDomainController“ aus dem AD-Modul kann dabei sehr hilfreich sein, insbesondere wenn Sie die Einrichtung überprüfen, Rollen prüfen oder Konfigurationen bestätigen möchten. Viele Anwender stoßen jedoch auf Probleme – beispielsweise, weil RSAT nicht korrekt installiert ist oder sie die Befehle nicht kennen, um die gewünschten Informationen zu finden. Dieser Leitfaden zeigt Ihnen die gängigsten Methoden zur Verwendung dieses Cmdlets und enthält außerdem einige nützliche Skripte, mit denen Sie überprüfen können, ob alle Ihre Domänencontroller erreichbar sind und ordnungsgemäß funktionieren.

Egal, ob Sie den aktuell von Ihrem Rechner verwendeten Domänencontroller ermitteln, alle Controller auflisten oder bestimmte Standorte oder Rollen genauer untersuchen möchten – diese Befehle und Skripte ersparen Ihnen viel Kopfzerbrechen. Denn Windows macht es einem natürlich etwas komplizierter, als es sein sollte. Rechnen Sie mit einigen Befehlszeilen, ein paar Tastenkombinationen und vielleicht sogar ein oder zwei Skripten, um die Überprüfung der Online- und Reaktionsbereitschaft Ihrer Domänencontroller zu automatisieren.

Wie man mit PowerShell Informationen über Domänencontroller abruft

Grundlegende Informationen über Ihren aktuellen Domänencontroller abrufen

Wird das Programm Get-ADDomainControllerohne Parameter ausgeführt, ruft es Daten über den Domänencontroller ab, an dem Ihr Rechner aktuell authentifiziert ist – praktisch, um zu überprüfen, mit welchem ​​Domänencontroller Sie kommunizieren. Angezeigt werden unter anderem IP-Adresse, Hostname, Betriebssystemversion und Rollen. Warum das so funktioniert, ist mir nicht ganz klar, aber in der Regel sind die Ergebnisse korrekt, solange Ihre Active Directory-Umgebung nicht allzu komplex ist.

Get-ADDomainController

Standardmäßig werden alle verfügbaren Informationen angezeigt. Wenn Sie jedoch bestimmte Teile auswählen möchten, können Sie Felder auswählen oder die Filterung verfeinern.

Auffinden der nächstgelegenen oder spezifischen Domänencontroller mithilfe von Ermittlungsbefehlen

Jetzt wird es richtig interessant, denn Windows kann Ihnen dabei helfen, Controller in Ihrem Netzwerk oder an einem bestimmten Standort zu finden. Um beispielsweise den nächstgelegenen Domänencontroller zu finden – also denjenigen, mit dem Ihr Computer normalerweise kommuniziert – können Sie folgenden Befehl ausführen:

Get-ADDomainController -Discover

Und wenn Sie aggressiver vorgehen möchten, indem Sie eine erneute Erkennung erzwingen und nach der AD-Webdienstrolle suchen (nützlich, wenn Sie sicherstellen möchten, dass diese auf einem Domänencontroller installiert ist), versuchen Sie Folgendes:

Get-ADDomainController -ForceDiscover -Discover -Service ADWS

Wenn Sie den primären Domänencontroller (PDC) oder andere FSMO-Rollen ermitteln müssen, können Sie die Rollen wie folgt angeben:

Get-ADDomainController -Discover -Service PrimaryDC

Um Informationen über alle Domänencontroller in Ihrer Domäne zu erhalten, führen Sie einfach folgenden Befehl aus:

Get-ADDomainController -Filter *

Dies kann auch in andere Befehle eingebunden werden – zum Beispiel, um zu messen, wie viele Controller vorhanden sind:

Get-ADDomainController -Filter * | Measure-Object

Und falls die Ausgabe zu umfangreich ist, können Sie sie übersichtlich formatieren:

Get-ADDomainController -Filter * | Select-Object Name, ipv4Address, OperatingSystem, Site | Sort-Object Name

Bei manchen Konfigurationen, wenn sich die Domänencontroller in verschiedenen vertrauenswürdigen Domänen befinden, können Sie den Parameter -Server mit einem bestimmten Domänennamen angeben, etwa so:

Get-ADDomainController -Filter * -Server dc01.test.com | Select-Object Name, ipv4Address, IsGlobalCatalog, Site

Filtern Ihrer Domänencontroller anhand bestimmter Kriterien

Wenn Sie nach bestimmten Domänencontroller-Typen suchen, z. B.solchen an einem bestimmten Standort oder mit bestimmten Rollen, helfen Ihnen diese Filter. Sie können beispielsweise einen Domänencontroller anhand seiner IP-Adresse finden:

Get-ADDomainController -Identity "192.168.100.6"

Oder alle DCs mit „dc02“ im Namen:

Get-ADDomainController -Filter {name -like "*dc02*"} | Select-Object Name, ipv4Address, OperatingSystem, Site

Oder alle RODCs (schreibgeschützte Domänencontroller) finden:

Get-ADDomainController -Filter {IsReadOnly -eq $true} | Select-Object Name, ipv4Address, OperatingSystem, Site

Wenn Sie mehr über DCs an einem bestimmten Ort, wie zum Beispiel „Rom“, erfahren möchten, können Sie Folgendes tun:

Get-ADDomainController -Filter {Site -eq "Rome"} | Select-Object Name, ipv4Address, OperatingSystem, Site

Überprüfung, ob alle Domänencontroller tatsächlich betriebsbereit sind.

Dies ist besonders hilfreich bei der Fehlersuche in Netzwerken oder bei der Überprüfung des Zustands von Domänencontrollern. Sie können ein kurzes Skript schreiben, um die relevanten Ports auf jedem Domänencontroller anzupingen oder zu testen. Das folgende Beispiel prüft Port 636 (LDAPS) – ein gängiger Port für sicheres LDAP, an dem sich leicht überprüfen lässt, ob er geöffnet ist und Ports auf Verbindungen wartet. Falls nicht, erhalten Sie eine Warnung.

$DCs = Get-ADDomainController -Filter * | Select-Object Hostname, Ipv4Address, IsGlobalCatalog, Site, Forest, OperatingSystem ForEach ($DC in $DCs) { $Result = Test-NetConnection -ComputerName $DC. Hostname -Port 636 -InformationLevel Quiet if ($Result -ne $true) { write-host "$($DC. Hostname) — NOT available" -BackgroundColor Red -ForegroundColor White } else { write-host "$($DC. Hostname) — available" -BackgroundColor Green -ForegroundColor White } }

So lässt sich schnell erkennen, welche DCs funktionieren und welche nicht – ganz einfach. Denn seien wir ehrlich: Manchmal machen DCs Probleme oder es treten unerwartete Schwierigkeiten auf, und ein einfacher Porttest kann viel Rätselraten ersparen.

Natürlich können Sie dieses Skript anpassen, um weitere Ports zu prüfen, zusätzliche Diagnosen durchzuführen oder Ergebnisse zu protokollieren. Auf manchen Rechnern sind möglicherweise Anpassungen nötig oder das Skript schlägt beim ersten Mal fehl – ​​ein Neustart oder erneutes Ausführen behebt das Problem meist. Denken Sie daran: Automatisierung ist hier Ihr bester Freund.

Zusammenfassung

  • PowerShell eignet sich hervorragend zum Abfragen von AD-Domänencontrollern und zum Filtern der Ergebnisse nach Ihren Bedürfnissen.
  • Discovery-Befehle helfen dabei, die nächstgelegenen oder bestimmten DCs zu finden, was eine echte Zeitersparnis darstellt.
  • Skripte zur Überprüfung der DC-Verfügbarkeit sind einfach einzurichten und können bei der Fehlersuche viel Ärger ersparen.

Zusammenfassung

Mithilfe dieser Befehle und Skripte behalten Sie den Überblick über Ihre Domänencontroller, ohne unzählige Protokolle durchforsten oder jeden einzelnen manuell anpingen zu müssen. Es geht im Prinzip darum, Windows die richtigen Fragen zu stellen und die eigentliche Arbeit dann automatisch erledigen zu lassen. Manchmal ist es etwas unintuitiv, aber sobald Sie den Dreh raus haben, werden Sie sich fragen, wie Sie jemals ohne ausgekommen sind.

Hoffentlich spart das jemandem ein paar Stunden und macht die AD-Verwaltung ein wenig weniger rätselhaft.