In dieser kleinen Reihe möchte ich die gebräuchlichsten Active Directory Powershell cmdlets vorstellen.
Mit den cmdlets ADgroup werden:
– Neue Gruppen erstellt
– Gruppen und deren Attribute angezeigt
– Attribute von Gruppen geändert.
AD PowerShell Basics
Ich möchte in dieser Serie zeigen, wie mit geringem Aufwand und wenig Quellcode eine große Menge Infos aus dem AD ausgelesen oder Daten ins AD geschrieben werden. Folgende Cmdlets werden vorgestellt:
New-ADUser
Get-ADUser
Set-ADUser
New-ADGroup, Get-ADGroup, Set-ADGroup
Index
Das Cmdlet New-ADGroup
In diesem Teil geht es um das cmdlet New-ADGroup.
Mithilfe dieses cmdlets können Sie neue Gruppen im Active Directory anlegen.
Im Gegensatz zum cmdlet „New-ADUser“ wird für die Gruppe mehr als ein Attribut gefordert. Zwingend wird für diesen Befehl der Name der anzulegenden Gruppe, sowie der GroupScope benötigt. Dieser gibt an, ob die Gruppe
- DomänenLokal
- Global
- Universal
ist. Das sieht dann so aus:
New-ADGroup -Name Alle_Testbenutzer -GroupScope Global
Wird diese Zeile in einer Powershell ausgeführt, wird eine Gruppe mit dem Namen Alle_Testbenutzer und dem GroupScope Global angelegt.
Das ist allerdings auch das Einzige, was diese Gruppe an Informationen besitzt:
- Es wird automatisch eine Sicherheitsgruppe angelegt,
- Es gibt keine gefüllten Attribute
- es wird kein Manager festgelegt
Außerdem landet die Gruppe im „Standard“ Users Container. Dort wollen Sie sie im Normalfall aber nicht liegen lassen.
Ergänzung von Gruppenkategorie sowie Ziel-OU
Es ist sinnvoll, unsere Zeile um ein paar Infos zu ergänzen. Diese sind nicht zwingend nötig, aber für das Arbeiten mit dem Active Directory eigentlich unerlässlich. Fügen Sie zum Beispiel folgende Parameter hinzu:
New-ADGroup -Name Alle_Testbenutzer -GroupScope Global -GroupCategory Distribution -Path „OU=Testgroups,DC=Company,DC=Com“
Mit dieser Zeile haben Sie eine Verteilerliste ausgewählt, sowie die OU der Gruppe festgelegt.
Fast alle anderen Attribute, die Sie einer Gruppe geben können, werden auf diese Weise befüllt.
Massen-Import von Benutzern per New-ADUser
So weit so gut. Vergleicht man dies mit der „Klick-Benutzeranlage“ aus Users and Computers, wäre es wohl einfacher eine Gruppe per Hand anzulegen. Wirklich interessant wird die PowerShell und New-ADGroup, wenn mehrere Gruppen angelegt werden sollen. Dafür wird nur eine Inputdatei mit allen Infos benötigt.
Am besten nehmen Sie dazu eine durch Semikolon getrennte CSV Datei.
Erstellen Sie eine Excel-Tabelle mit Spalten für Name, Groupscope, Groupcategory und so weiter.
Wie der Massenimport im Detail funktioniert, ist im Artikel New-ADUser: Abschnitt Massenimport von Benutzern beschrieben.
Das Cmdlet Get-ADGroup
Als nächstes geht es um das cmdlets Get-ADGroup.
Mithilfe dieses cmdlets können Sie sich Attribute von bestehenden Gruppen im Active Directory anzeigen lassen.
Wie auch bei dem cmdlet Get-ADUser benötigen Sie hier nur die Identität der Gruppe, z.B. den Samaccountname, um das cmdlet erfolgreich auszuführen. Das sieht beispielsweise so aus:
Get-ADGroup Alle_Testbenutzer
Nun bekommen Sie alle Infos zur Gruppe Alle_Testbenutzer. Das sieht wie folgt aus:
Filter einbauen
Wenn Sie den sAMAccountname nicht kennen oder nach mehreren Gruppen suchen möchten, gibt es die Möglichkeit, einen Filter einzubauen.
Filter können sehr vielfältig verwendet werden und über den Parameter „-Filter“ gesteuert.
Sie können mit Filtern z.B. nach bestimmten Attributen suchen.
Die Filter für Gruppen ähneln stark denen für Benutzer. Wie Sie nach bestimmten Attributen bei Benutzern suchen, erkläre ich hier. Dies kann auf die Gruppen übertragen werden.
Daten exportieren
Wenn Sie eine große Menge an Gruppen suchen, ist die Ansicht in der Powershell eher unübersichtlich. Es gibt aber die Möglichkeit diese Daten zu exportieren, z.B. in eine .csv Datei.
Leiten Sie dazu die Ausgabe der Suchanfrage in eine .csv Datei um.
Dies erfolgt mittels „export-csv„
Get-ADGroup –Filter * -Searchbase „OU=Testuser,DC=Company,DC=Com“ | export-csv „c:\test\export.csv“
Das exportierte Ergebnis sieht in der CSV-Datei wie folgt aus:
Erklärung cmdlet Set-ADGroup
Als drittes möchte ich das cmdlet Set-ADGroup vorstellen.
Mithilfe dieses cmdlets kann man die Attribute von Gruppen im Active Directory ändern.
Dieses cmdlet funktioniert sehr gut in Kombination mit dem cmdlet Get-ADGroup.
Wenn Sie z.B. die Beschreibung setzen oder ändern wollen, sieht das so aus:
Set-ADGroup Alle_Testbenutzer –Description „Verteilerliste für alle Testbenutzer“
Sie können natürlich auch mehrere Attribute auf einmal ändern. Dazu geben Sie die Attribute einfach nacheinander an.
Kombination Get-ADGroup und Set-ADGroup
Wirklich brauchbar wird Set-ADGroup in Kombination mit Get-ADGroup. Denn Sie können mit Get-ADGroup alle Gruppen, die Sie ändern möchten, auslesen. Dies funktioniert analog wie bei Get-ADUser beschrieben. Danach können Sie mit einer Pipe über Set-ADGroup das oder die Attribute an allen Gruppen ändern. Und das alles in nur einer Zeile.
Get-ADGroup –Filter {Name -like „*Test*“} | Set-ADGroup -Description “Gruppen für Tests“
Und schon haben Sie bei allen Gruppen, die Test in ihrem Namen haben die Beschreibung angepasst.
Gruppenattribute per Import ändern
Sie können auch die Attribute ändern, indem Sie eine .csv Datei einlesen. Diese hat den Vorteil, dass Sie auch für verschiedene Gruppen das gleiche Attribut mit verschiedenen Werten füllen können, z.B. die Beschreibung oder den Manager.
Näheres zum Import finden Sie im Artikel Set-ADUser cmdlet an dieser Stelle.
Schnelle Administration der AD Benutzerverwaltung ohne PowerShell
Wenn Sie Ihre Gruppen angelegt haben, können Sie Benutzerkonten auch ohne PowerShell sehr schnell erstellen undverwalten.
Nutzen Sie dafür unser FirstWare IDM-Portal:
- schnelle AD Administration
- Delegation
- Verwaltung von Gruppenmitgliedschaften
- Self Service uvm.
Unterstützung benötigt?
Gerne stellen wir Ihnen unsere Leistungen und Lösungen in einem persönlichen Gespräch vor und würden uns über Ihre Kontaktaufnahme sehr freuen!
2 Comments
Leave your reply.