
Verschachteln einer Security Gruppe in eine Office Gruppe im Azure AD via Powershell
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:
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.