Active Directory Objekte zählen mit PowerShell
Das Active Directory (AD) ist meist das Kern-System einer jeder Windows Landschaft. Hier werden alle Benutzer-Objekte und Computer-Objekte angelegt, verwaltet und gelöscht. Natürlich gibt es noch eine Menge anderer Objektarten, aber heute zeigen wir wie man alle Active Directory Objekte zählen lassen kann mit einem PowerShell Befehl.
Active Directory Objekte zählen mit PowerShell
Natürlich wird dies wahrscheinlich nicht oft benötigt, jedoch kann es von Nutzen sein zu wissen, wie viele Active Directory Benutzer und Computer Objekte es im AD gibt. Hier hilft uns PowerShell weiter. PowerShell kann so gut wie alles in Microsoft Umgebungen anfassen. Doch damit wir die AD-Befehle absetzen können, muss erst das ActiveDirectory Modul hinzugefügt werden.
- PowerShell als Administrator öffnen
- AD-Modul hinzufügen mit Befehl
Import-Module ActiveDirectory
Ist das erledigt, kann man nun ohne Probleme die Active Directory Objekte zählen lassen.
Benutzer Objekte
Um nun alle User im AD zählen zu lassen, ist nur ein einfacher PowerShell Befehl notwendig.
(Get-ADUser -Filter "Name -like '*'").count
Hier sieht man in der nächsten Zeile, dass es in diesem Active Directory 598 Benutzer-Objekte gibt. Das war schon das ganze Hexenwerk.
Computer Objekte
Natürlich ist das zählen von Computer-Objekten auch kein Problem. Der Grundbefehl in PowerShell lautet folgendermaßen.
(Get-ADComputer -Filter "Name -like '*'").count
Auch hier sieht man, dass es 674 Computer-Objekte im AD angelegt sind.
Doch beim Zählen von Computern mit Count ist noch mehr möglich. Folgender Befehl zählt nur Computer, welche mit einem bestimmten Präfix beginnen.
(Get-ADComputer -Filter "Name -like 'N230*'").count
Außerdem kann man nur nach Client- oder Server-Betriebssystemen filtern lassen.
(Get-ADComputer -Filter "OperatingSystem -like '*Server*'").count
Wenn man den Befehl ohne die Klammern und dem .count ausführt, werden dei Objekte nicht gezählt, sondern direkt ausgegeben und aufgelistet. Ein Beispiel für die Benutzer wäre hier folgendes.
Get-ADUser -Filter "Name -like '*'"
Hier kann ich euch leider aus Datenschutzgründen keinen Screenshot bereit stellen.