Wie stellt man mit ein paar Powershell Befehlen eine Liste aller Domain Controller auf und schreibt es in eine CSV Datei?
Wir starten als erstes Powershell ISE und wechseln dort in unser gewünschtes Verzeichnis für den Export. Ich wechsel dort immer nach Dokumente oder in den Downloadbereich.
Wer nicht viel mit Powershell arbeitet, der sollte sich das von Linux bekannte „Tab“ drücken angewöhnen um Befehle & Pfade zu vervollständige.
Alle Domain Controller auflisten und in eine CSV exportieren
So langt es z.B. Get-AdD einzugeben und zweimal Tab zu drücken, damit unser heutiger Befehl „Get-AdDomainController sichtbar wird. Im Powershell ISE hat man auch gleich schon die Unterstützung vom grafischen Interface, weswegen ich persönlich lieber mit dem ISE Modul arbeite, als mit der „nackten“ Powershell.
Wie ihr im Screenshot sehen könnt, habe ich bereits das Verzeichnis gewechselt und bereite den Befehl vor. Folgende Befehl geben wir nun ein.
Get-AdDomainController -filter * | Select Name, Domain, Forest, IPv4Address, Site |export-csv -path >alldc.csv
Öffnet man nun die Datei im Pfad, dann findet sich dort folgender Inhalt
#TYPE Selected.Microsoft.ActiveDirectory.Management.ADDomainController
"Name","Domain","Forest","IPv4Address","Site"
"DC-2022-WEU","bloggingbrothers.test","bloggingbrothers.test","10.0.2.5","Default-First-Site-Name"
In der Testumgebung befindet sich jetzt nur ein Domain Controller, aber bei größeren Umgebungen können dies auch mal über 100 sein und man spart sich viel Arbeit, wenn man dies in Excel übernimmt.
Im Excel geht man dazu einfach auf Daten -> Aus Text/CSV und wählt die erstellte alldc.csv Datei aus. Das erstellt dann folgenden Import, den man zum Abgleich von Gruppen oder Daten dann im Excel weiter verarbeiten kann.
Den Powershell Befehl könnt ihr mit anderen Attributen nach dem | Select anreichern. Die Auflistung der Parameter findet ihr hier bei Microsoft.
Mit welchem Domain Controller bin ich verbunden?
Das geht mit dem selben Befehl in der Powershell und dem Parameter -Discover
Get-ADDomainController -Discover
Das ist besonders praktisch, wenn man aus der Powershell prüfen will, ob die AD Site und Service Konfiguration stimmig ist.
Dies benutzt die selbe Technik, mit der bei der ersten Anmeldung der „nächste“ Domain Controller gefunden wird.
Im „klassischen“ cmd kann man das auch tun, dazu einfach „set“ eingeben und dann nach dem Parameter „LOGONSERVER“ suchen.