Gruppen in Entra ID per PowerShell anlegen

Das Anlegen von Objekten im Entra Admin Center ist recht intuitiv, eignet sich jedoch nur für Einzel-Anforderungen. Für eine größere Anzahl von Gruppen verwendet man besser PowerShell.

Auswahl des Moduls

Microsoft stellt ein umfassendes PowerShell-Module namens Microsoft.Graph bereit. Dieses beinhaltet über Entra ID hinaus diverse weitere Funktionen zur Verwaltung von Diensten, beispielsweise für Microsoft 365.
Dieses kann über den folgenden Befehl installiert werden:

Install-Module Microsoft.Graph -Scope CurrentUser   # Nur für derzeitigen Benutzer installieren
Install-Module Microsoft.Graph -Scope AllUsers      # Für alle Benutzer installieren - erfordert Administratorrechte
PowerShell


Speziell für Entra ID stellt Microsoft ein eigenes PowerShell-Modul namens Microsoft.Entra bereit.
Dieses kann über den folgenden Befehl installiert werden:

Install-Module Microsoft.Entra -Scope CurrentUser   # Nur für derzeitigen Benutzer installieren
Install-Module Microsoft.Entra -Scope AllUsers      # Für alle Benutzer installieren - erfordert Administratorrechte
PowerShell

Verbindungsaufbau

Für den Aufbau einer Verbindung zur Microsoft Cloud kann je nach verwendetem Modul der folgende Befehl verwendet werden. Der Parameter -Scopes definiert, welche Berechtigungen für die interaktive Sitzung angefordert werden. Sollen Gruppen über ein automatisiert ablaufendes Skript erstellt werden, so wird statt der Berechtigungen eine App-Registrierung angegeben, in der die nutzbaren Berechtigungen hinterlegt sind.

Connect-MgGraph -Scopes Group.ReadWrite.All                 # Verbindung zur zentralen Graph-API aufbauen
Connect-Entra   -Scopes Group.ReadWrite.All,Group.Create    # Verbindung zu Entra ID aufbauen
PowerShell

Erstellung einer Gruppe

Für die Erstellung einer Gruppe kann je nach verwendetem Modul der folgende Befehl verwendet werden. Wichtig: im Gegensatz zur grafischen Oberfläche wird nicht überprüft, ob es bereits eine Gruppe mit dem gewählten Namen gibt. Es kann also passieren, dass Gruppen doppelt angelegt werden. Um dies zu verhindern, ist vor Erstellung der Gruppe eine manuelle Prüfung sinnvoll:

$Gruppenname = '<Name der Gruppe>'
$Beschreibung = '<Beschreibung>'

# Microsoft Graph
if (!(Get-MgGroup -Filter "DisplayName eq '$GroupName'"){New-MgGroup -DisplayName $GroupName -MailEnabled:$False -MailNickName $Gruppenname -SecurityEnabled -Description $Beschreibung}

# Microsoft Entra
if (!(Get-EntraGroup -Filter "DisplayName eq '$GroupName'"){New-EntraGroup -DisplayName $GroupName -MailEnabled:$False -MailNickName $Gruppename -SecurityEnabled -Description $Beschreibung}
PowerShell


Hat Dir der Beitrag gefallen? Lass es andere wissen!