Tags: Active Directory, PowerShell
Wenn man wissen möchte, welche Computer-Objekte in einer bestimmten OU oder Gruppe enthalten sind, dann stehen für diesen Zweck die gewohnten GUI-Tools wie Active Directory-Benutzer und Computer oder das AD Verwaltungscenter zur Verfügung. Schneller und flexibler sind aber meist in solchen Fällen PowerShell oder dsquery sein.
Ein typisches Anliegen in diesem Zusammenhang könnte sein, dass man vor dem Verknüpfen eines GPO mit einer OU herausfinden möchte, welche Computer davon genau betroffen sind. Eine traditionelle Alternative zu den GUI-Tools wäre dafür dsquery:
dsquery computer "OU=IT,DC=contoso,DC=com" -o rdn
Das Ergebnis besteht aus einer Liste von Computer-Namen. Wenn man den Schalter -o mit dem Wert rdn nicht angibt, dann erhält man sie in Form von Distinguished Names.
PowerShell mit Get-ADComputer
Benötigt man mehr Eigenschaften als nur den Namen oder möchte man die Abfrage um einen Filter ergänzen, dann kann PowerShell mit dem Cmdlet Get-ADComputer helfen. Wie sein Gegenstück Get-ADUser zum Auslesen von User-Objekten muss man ihm entweder den Namen eines Objekts oder einen Filter als Parameter übergeben. Will man sich alle Computer anzeigen lassen, dann wird man -Filter mit einem Wildcard als Wert wählen:
Get-ADComputer -Filter *
Wie gewohnt kann man den Filter um Vergleichsausdrücke erweitern, um das Ergebnis einzuschränken. So würde bei Verwendung einer entsprechenden Namenskonvention die Abfrage
Get-ADComputer -Filter "Name -like 'Win81*'"
alle PCs mit Windows 8.1 ausgeben.
Will man die Abfrage auf eine OU reduzieren, dann benötigt man zusätzlich den Parameter -SearchBase:
Get-ADComputer -Filter * -SearchBase "OU=IT, DC=contoso, DC=com"
Die Suche in einer bestimmten Gruppe funktioniert nach dem gleichen Muster:
Get-ADComputer -Filter * -SearchBase "CN=Workstations, DC=contoso, DC=com"
Möchte man nicht nur die standardmäßig angezeigten, sondern alle Attribute der Computer-Objekte auflisten, dann fügt man zusätzlich den Parameter -Properties * hinzu.
Täglich Know-how für IT-Pros mit unserem Newsletter
Ähnliche Beiträge
- Split-brain DNS in Active Directory einrichten
- AD-Konten mit DES- und RC4-Algorithmus für Kerberos-Verschlüsselung finden
- UserAccountControl: Sicherheitseinstellungen für AD-Konten prüfen und ändern
- Gruppen in Azure Active Directory mit PowerShell verwalten
- Wann haben Benutzer zuletzt ihr Passwort im Active Directory geändert?
Weitere Links
1 Kommentar
in welchem Kontext wird hier "Get-ADComputer -Filter *" das "*" verwendet?