Seite wählen
Nehmen wir an, wir syncen unser On-Premise Active Directory zu Azure AD. Man möchte nun möglichst automatisiert die Provisionierung neuer User vornehmen. Dazu gehört auch die Mitgliedschaft in Office Groups. Office Groups werden in allen Microsoft 365 Produkten verwendet um die Berechtigungen zu vergeben. Zum Beispiel für Microsoft Teams, Sharepoint, etc. Das Naheliegenste würde jetzt sein, einfach eine Security Gruppe die aus dem lokalen On-Premise AD ins Azure AD gesynct wird in eine Office Gruppe zu verschachteln. Aber genau das geht nicht: https://office365.uservoice.com/forums/286611-office-365-groups/suggestions/33942997-add-security-groups-to-office-365-groups

Auf der Suche nach einem Workaround bin ich auf die Idee eines Powershell Skripts gekommen, welches alle Member einer Security Gruppe ausliest und diese einzeln in eine Office-Gruppe verschachtelt. Das ganze sieht dann wie folgt aus:

#This script adds all Members from the specified Security Group to one or more Office Groups
#This Script is a workaround as it is not possible to nest a Security Group into a Office Group in Azure AD

#If the Script can't be executed, please Install the Powershell module AzureAD with the Command below:
#Install-Module AzureAD

#Connect to Azure AD - Log in with a Global Admin
Connect-AzureAD

#Security Group: NAME - ObjectID
#1st Office Group: Name - ObjectID
Get-AzureADGroupMember -ObjectId "%SECURITYGROUPOBJECTID%" | ForEach-Object {Add-AzureADGroupMember -ObjectId "%OFFICEGROUPOBJECTID%" -RefObjectId $_.Objectid  }
#2nd Office Group: Name - ObjectID
Get-AzureADGroupMember -ObjectId "%SECURITYGROUPOBJECTID%" | ForEach-Object {Add-AzureADGroupMember -ObjectId "%OFFICEGROUPOBJECTID%" -RefObjectId $_.Objectid  }

Erklärung des Skripts

%SECURITYGROUPOBJECTID%: Die ObjectID aus dem Azure AD der Security Gruppe die aus dem On-Premise AD gesynct wird.

%OFFICEGROUPOBJECTID%: Die ObjectID aus dem Azure AD der Office Gruppe in welche die User zugeteilt werden sollen.

Das Skript kann auch mit einem Scheduled Task automatisiert werden. Dazu müssen die Credentials beim Connect-Befehl mitgegeben werden. Die Zeilen ab Zeile 10 können beliebig oft wiederholt werden.

Wenn das Skript einen User probiert zu verschachteln, welcher schon ein Member ist, wird eine Fehlermeldung ausgegeben, welche ignoriert werden kann:Error Message Powershell AzureAD Applet

Was macht das Skript nicht?

Das Skript fügt nur neue Benutzer hinzu, es entfernt aber keine Benutzer. Wenn ein Benutzer nicht mehr Mitglied einer Security Gruppe ist, wird er weiterhing Member der Office Gruppe sein.

Vorbedingungen

Das Skript muss auf einem Computer ausgeführt werden, welcher Zugriff auf das Azure AD hat.