Skip to the main content.

ScriptRunner Blog

AD‑Benutzer, ‑Gruppen und ‑Computer mit PowerShell hinzufügen

Inhaltsverzeichnis

Post Featured Image

In der PowerShell lassen sich relativ unkompliziert Benutzerkonten sowie Gruppen erstellen, Benutzer zu Gruppen hinzufügen oder aus Gruppen entfernen. Damit die Cmdlets dafür zur Verfügung stehen, muss das entsprechende PowerShell-Modul auf dem Client bzw. Server installiert sein.

Installation des PowerShell-Moduls für die Verwaltung von Active Directory installieren

Auf Domänencontrollern ist das PowerShell-Modul automatisch mit den anderen Verwaltungstools installiert. Auf Rechnern mit Windows 10 und Windows 11 erfolgt die Installation über die Features on Demand-Funktion. Die Einstellungen dazu finden sich in den Einstellungs-Apps von Windows 10 und Windows 11. Diese optionalen Features sind über Einstellungen\Apps verfügbar. Über diesen stehen als Teil der RSAT-Tools die RSAT: Tools für Active Directory Domain Services und Lightweight Directory Services zur Verfügung. Bei Windows 11 muss zusätzlich noch auf Funktionen anzeigen geklickt werden.

Mit der Schaltfläche Installieren erfolgt die Integration des Moduls. Durch die Installation dieses Features steht auch das PowerShell-Modul für Active Directory zur Verfügung.

Installieren des Active Directory-Moduls für die PowerShell in Windows 10

Installieren des Active Directory-Moduls für die PowerShell in Windows 10

Auf Servern erfolgt die Installation durch das Hinzufügen der Remoteverwaltungstools für Active Directory im Server-Manager. Alternativ kann über das Windows Admin Center das Hinzufügen der Active Directory Extension erfolgen. 

Auf Windows-Servern können die Verwaltungstools von Active Directory auch über die PowerShell installiert werden. Hierzu wird der Befehl Install-WindowsFeature RSAT-AD-PowerShell verwendet.


Installieren der Remoteserververwaltungs-Tools auf Servern

Installieren der Remoteserververwaltungs-Tools auf Servern

 

Mit PowerShell AD-Objekte anlegen

Um im Active Directory-Objekte, wie Computer, Benutzer oder Gruppen in der PowerShell abzurufen, stellt Microsoft zahlreiche Cmdlets zur Verfügung.

Eine Liste wird am schnellsten über den Befehl Get-Command Get-Ad* angezeigt. Um neue Objekte zu erstellen, gibt es ebenfalls zahlreiche Cmdlets. Die Liste wird durch Eingabe von Get-Command New-Ad* angezeigt.

Eine Liste mit Befehlen zum Löschen von Objekten zeigt die PowerShell mit Get-Command Remove-Ad*. Änderungen an Active Directory-Objekten werden mit Set-Cmdlets vorgenommen. Eine Liste wird über Get-Command Set-Ad* angezeigt.

Eine Liste aller Cmdlets zur Verwaltung von Active Directory ist mit dem folgenden Befehl verfügbar:


Get-Command -Module ActiveDirectory

Dadurch lassen sich schnell Befehle zusammenbauen und Skripte erstellen, mit denen sich neue Objekte anlegen lassen und gleichzeitig die Objekte auch angepasst werden. Der Vorteil bei der Verwendung von PowerShell besteht darin, dass sich mit PowerShell auch mehrere Gruppen gleichzeitig anpassen lassen und  Aufgaben geskriptet werden können. Parallel lassen sich die Möglichkeit der grafischen Benutzeroberfläche nutzen.

 

Gruppen in der PowerShell verwalten

Die Verwaltung von Gruppen in der PowerShell erfolgt vor allem mit den folgenden Cmdlets:


Neue Gruppen lassen sich mit New-ADGroup erstellen. In einem Skript ist es durchaus möglich, neue Gruppen zu erstellen und gleichzeitig die Gruppenmitgliedschaften der Gruppen anzupassen. Die Anpassung bestehender Gruppen ist ebenso über Skripte steuerbar. Um neue Gruppen zu erstellen und die Syntax dazu anzuzeigen, steht das folgende Cmdlet zur Verfügung:


Get-Command New-ADGroup -Syntax

Der Befehl zum Erstellen einer neuen Gruppe lautet zum Beispiel:


New-ADGroup "Name der Gruppe"

Bei der Eingabe dieses Befehls erstellt die PowerShell eine neue Sicherheitsgruppe. Soll bei der Erstellung auch gleich festgelegt werden, dass die Gruppe in einer bestimmten Organisationseinheit angelegt wird und global verfügbar sein soll, verwenden Sie den folgenden Befehl:


New-ADGroup "Einkauf" -Path "OU=Berlin,DC=joos,dc=int" -GroupCategory Security -GroupScope Global -PassThru –Verbose

Über -GroupCategory steuern Sie die Kategorie der Gruppe, also entweder Security oder Distribution (Verteilerliste). Auch die Gruppenart steuern Sie an dieser Stelle mit -GroupScope. Soll der Befehl eine universale Gruppe erstellen, verwenden Sie -GroupScope Universal.

Zum Löschen können Sie das Cmdlet Remove-ADGroup verwenden:


Remove-ADGroup -Identity Einkauf

 

Gruppenmitgliedschaften steuern

Das Anlegen und Löschen von Gruppen stellt in PowerShell kein Problem dar. Genauso lassen sich Mitglieder zu den Gruppen in PowerShell hinzufügen oder aus den Gruppen wieder entfernen. Es ist mit einem einzelnen Befehl auch möglich mehrere Benutzerkonten zu Gruppen hinzuzufügen. Der Befehl sieht zum Beispiel folgendermaßen aus:


Add-AdGroupMember -Identity Einkauf -Members joost, joosc

Der Befehl fügt die beiden Benutzerkonten joost und joosc der Gruppe Einkauf hinzu. Mit PowerShell ist es auch möglich, die Gruppenmitgliedschaften abzufragen. Hierbei kann der folgende Befehlt zum Einsatz kommen:


Get-ADGroupMember -Identity Einkauf

Auch das Hinzufügen von Computerkonten zu Gruppen ist in PowerShell möglich. Die Befehle dazu sind hier ähnlich. Bei Computerkonten muss am Ende des Namens noch das Dollar-Zeichen angehängt werden. Soll im oberen Beispiel der Gruppe Einkauf das Computerkonto srv01 hinzugefügt werden, verwenden Sie den folgenden Befehl:


Add-AdGroupMember -Identity Einkauf -Members srv01$

 

Benutzer zu mehreren Gruppen hinzufügen

Über die PowerShell ist es auch möglich ein Benutzerkonten zu mehreren Gruppen hinzuzufügen. Dazu kann zum Beispiel der folgende Befehl genutzt werden:


"Einkauf1","Einkauf" | 
Add-ADGroupMember -Members (Read-Host -Prompt "Benutzernamen eingeben")

Nach der Eingabe der Benutzernamen fügt der Befehl die eingegebenen Benutzer den Gruppen Einkauf1 und Einkauf2 hinzu. Hier besteht außerdem die Möglichkeit eine CSV-Datei zu verwenden. Dazu erstellen Sie eine CSV-Datei mit der Spalte users und nehmen die Benutzerkonten als jeweils eigene Zeile mit auf. Danach können Sie die Datei importieren und Gruppen hinzufügen. Der Befehl dazu sieht folgendermaßen aus:


Import-CSV C:\stemp\users.csv -Header users | 
ForEach-Object {Add-AdGroupMember -Identity "Einkauf" -members $_.users}

Eine ähnliche Aufgabe ist das Kopieren der Gruppenmitgliedschaften zwischen zwei Gruppen. Um zum Beispiel die Mitglieder der Gruppe Einkauf1 in die Gruppe Einkauf2 zu kopieren, kommt der folgende Befehl zum Einsatz:


Get-ADGroupMember "Einkauf1" | 
Get-ADUser |
ForEach-Object {Add-ADGroupMember -Identity "Einkauf2" -Members $_}

 

Gruppen auf Basis der OU oder AD-Attributen zu Gruppen hinzufügen

Eine ähnliche Aufgabe besteht darin alle Benutzerkonten einer OU zu einer bestimmten Gruppe hinzuzufügen. Der Befehl sieht in diesem Fall folgendermaßen aus:


Get-ADUser -Filter * -SearchBase "OU=Users,OU=NY,OU=USA,DC=theitbros,DC=com"|
ForEach-Object -process {Add-ADGroupMember -identity "NY Users" -Members $_.SamAccountName}

Neben der OU können auch Abfragen auf Basis anderer Attribute in AD genutzt werden, um bestimmte Benutzer zu fest definierten Gruppen hinzuzufügen. Ein Beispiel dafür ist:


Get-ADUser -filter {(co -eq "United States")} | 
ForEach-Object -process {Add-ADGroupMember -identity "USAUsers" -Members $_.SamAccountName}

 

Benutzer aus Gruppen entfernen

Das Entfernen von Benutzerkonten aus Gruppen funktioniert ähnlich. Hier kommt aber das Cmdlet Remove-ADGroupMember zum Einsatz. Um zum Beispiel die oben hinzugefügten Benutzer wieder aus der Gruppe Einkauf zu entfernen, kann der folgende Befehl verwendet werden:


Remove-AdGroupMember -Identity Einkauf -Members joost, joosc

Auch das Entfernen mehrerer Benutzer aus Gruppen erfolgt mit den gleichen Möglichkeiten wie oben beschrieben. Zum Einsatz kommt auch hier das Cmdlet Remove-AdGroupMember.

 

Gruppenmitgliedschaften zwischen Domänen steuern

Beim Einsatz mehrerer Domänen gibt es auch die Möglichkeit Benutzerkonten einer Domäne in Benutzergruppen von anderen Domänen hinzuzufügen. Dazu können die folgenden Befehle genutzt werden:


$User = Get-ADUser -Identity "CN=Chew
David,OU=UserAccounts,DC=NORTHAMERICA,DC=FABRIKAM,DC=COM" -Server "northamerica.fabrikam.com"

$Group = Get-ADGroup -Identity
"CN=AccountLeads,OU=UserAccounts,DC=EUROPE,DC=FABRIKAM,DC=COM" -Server "europe.fabrikam.com"

Add-ADGroupMember -Identity
$Group -Members $User -Server "europe.fabrikam.com"

 

Die Befehle fügen den Benutzer CN=Chew David,OU=UserAccounts aus der Domäne Northamerica zur Gruppe CN=AccountLeads,OU=UserAccounts in der Domäne Europe hinzu. 

Meldung (Toasty) im Portal angezeigt. Eine jeweils aktuelle Version der Offline Hilfe (Portal Guide) kann zukünftig in Form von HTML-Dateien mit integrierter Navigation im Release Guide auf unsere  Support-Webseite bezogen werden. 

 

Good2know

Webinar  

In Kürze sind Anmeldungen zu unserem September-Webinar zum Thema Active Directory möglich. 

 

Themen in diesem Webinar:

  • Wiederholende Aufgaben mit dem PowerShell Active Directory Modul automatisieren
  • Typische Use Cases mithilfe unseres ScriptRunner ActionPacks für Active Directory umsetzen
  • Zeitlich geplante Reports mit PowerShell erstellen
  • Active Directory Verwaltungsaufgaben sicher an Helpdesk-Mitarbeiter delegieren und Self-Services End-Benutzern zur Verfügung stellen
  • Alle PowerShell-Aktivitäten überwachen

 

 

Hier geht es zu unseren Webinaren

 

 

 

Weiterführende Links

Zusammenhängende Posts

Über den Autor: