Die PowerShell ist eine mächtige Umgebung, um Informationen in Windows auszulesen oder zu bearbeiten. Da die Shell ohnehin in aktuellen Windows-Versionen zur Verfügung steht, können problemlos und ohne zusätzliche Installationen auch Daten aus Active Directory ausgelesen werden.
Auch bei der Arbeit mit Active Directory kann die PowerShell ein nützliches Werkzeug sein.
Wenn das Modul zur Verwaltung von Active Directory in Windows 10 oder Windows Server 2019 installiert ist, kann in der PowerShell auch auf spezifische Informationen von Active Directory zugegriffen werden. Der Befehl „Get-Command Get-Ad*“ zeigt bereits zahlreiche Cmdlets an, mit denen sich Informationen aus Active Directory anzeigen lassen.
Daten zu Computer und Benutzerkonten anzeigen
Die einzelnen Get-Cmdlets können mit Filtern erweitert werden, um die notwendigen Informationen auszulesen. Um zum Beispiel alle Benutzer anzuzeigen, die aktuell nicht deaktiviert sind, wird folgender Befehl verwendet:
Gesperrte Benutzerkonten zeigt das Cmdlet „Search-ADAccount -lockedout“ an. Über die PowerShell können die Konten auch wieder entsperrt werden, zum Beispiel mit „Get-ADUser -Identity joost | Unlock-ADAccount“
Auch die Computerkonten in Active Directory lassen sich auslesen. Mit der Pipeline kann das Ergebnis an „Select“ übergeben und die Anzeige nach den gewünschten Informationen gefiltert werden:
Um nicht aktive Computer anzuzeigen, steht auf Github das Skript „GetInactiveComputer.ps1“ zur Verfügung. Es muss lediglich gestartet werden, um die gewünschten Informationen direkt in der Powershell anzuzeigen.
Wie Benutzerkonten können auch Computerkonten in Active Directory gezählt werden:
(Get-ADComputer -Filter "Name -like '*'").count
Daten zu Domänencontrollern zeigt das Cmdlet „Get-Addomaincontroller“ an. Um Informationen zu allen Domänencontrollern in einer Gesamtstruktur anzuzeigen, kann der folgende Befehl verwendet werden:
Nach dem Download des Archivs und dessen Extraktion, startet das Skript mit dem Befehl „.\ADDS_Inventory_V3.ps1“. Ändert sich die Version, ist das am Namen der Skriptdatei zu erkennen. Danach liest das Skript ohne weitere Installation die Daten aus und speichert diese in einer HTML-Datei im gleichen Verzeichnis. Der HTML-Bericht kann in jedem Browser oder jedem anderen Tool angezeigt werden, das HTML versteht. Im Skript sind umfassende Informationen zur generellen Infrastruktur von Active Directory zu erkennen.
Das Skript „Get Service Accounts“ ist sinnvoll parallel zu Microsoft Active Directory Documentation Script einsetzbar. Nach dem Start fragt das Skript nach Computernamen. Anschließend durchsucht das Skript die Computer nach Dienstkonten, an denen eine Anmeldung mit Domänenbenutzern stattfindet. Die Daten speichert das Skript in Textdateien des gleichen Verzeichnisses.
Ein weiteres Skript in diesem Bereich ist „ADinfo.ps1“. Auch dieses Skript kann Daten aus Active Directory auslesen. Die Skripte können auch bearbeitet werden. Um das Skript zu verwenden wird eine neue Textdatei erstellt und die Befehle in die Datei kopiert. Als Name bietet sich „ADinfo.ps1” an. Das Skript zeigt die Daten direkt in der PowerShell an, es wird kein Bericht erstellt.
Active Directory Health Check
Vom gleichen Entwickler steht das Skript „Active Directory Health Check“ zur Verfügung. Dieses startet mit „.\ADHealthCheck_v2_Signed.ps1“. Das Skript gibt seinen Bericht als Word-Datei aus. Daher sollte es nicht direkt auf einem Domänencontroller gestartet werden, sondern auf einer Arbeitsstation, auf der auch Word installiert ist, und die Mitglied in Active Directory ist. Das Microsoft Active Directory Documentation Script ist in diesem Fall einfacher nutzbar, da kein zusätzliches Programm notwendig ist.
Auf Tech Wizard ist das Skript „Active Directory Health Check” zu finden. Das Skript erstellt bei Ausführung von „ADHealthCheck.ps1“ einen HTML-Bericht, mit dem der Zustand von Active Directory überprüft werden kann.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Gruppenrichtlinien auslesen
Mit der PowerShell können auch Informationen zu Gruppenrichtlinien der Domäne ausgelesen werden. Vor allem zur Fehlersuche ist es sinnvoll zu wissen, mit welchen OUs eine Gruppenrichtlinie verknüpft ist, ob eine Richtlinie vererbt oder erzwungen ist und vieles weitere mehr. Die Syntax dafür lautet:
Get-GPOReport -All -Domain "joos.int" -ReportType HTML -Path "C:\temp\report.html"
DNS-Daten auslesen
Active Directory und DNS arbeiten eng zusammen. Daher ist es auch möglich, in der PowerShell DNS-Zonen auf Domänencontrollern auszulesen, zum Beispiel mit „Get-DnsServerZone -ComputerName dc01“.