Im Rahmen einer größeren Migration mussten Gruppen in der AzureAD kopiert werden, um diese neu zu berechtigen.
Mit dem folgenden Skript werden bei Gruppen, bei denen die Mitgliedschaften zugewiesen werden, die Besitzer (Owner) sowie die Mitglieder (Member) übernommen. Bei Gruppen mit dynamischer Mitglieder-Zuordnung wird das entsprechende Regelwerk übernommen und aktiviert.
#Variablen-Definition
$SourceGroup ="Gruppe_1A"
$DestinationGroup ="Gruppe_2A"
### Skript-Start
#Verbindungsaufbau zum Azure AD
Connect-AzureAD
#Ermittlung der Standard-Parameter der Source-Gruppe
$SourceObjectStatic = Get-AzureADGroup -Filter "DisplayName eq '$SourceGroup'"
$SourceObjectDynamic = Get-AzureADMSGroup -Filter "DisplayName eq '$SourceGroup'"
#Abfrage nach Gruppentyp "Dynamisch"
if ($SourceObjectDynamic.GroupTypes -eq "DynamicMembership") {
### Gruppentyp "Zugewiesen"
#Erstellung der neuen AzureAD-Gruppe
New-AzureADMSGroup -MembershipRule $SourceObjectDynamic.MembershipRule -DisplayName $DestinationGroup -SecurityEnabled $SourceObjectStatic.SecurityEnabled -MailEnabled $SourceObjectStatic.MailEnabled -MailNickname $SourceObjectStatic.MailNickName -MembershipRuleProcessingState "On" -GroupTypes @("DynamicMembership")
}
else {
### Gruppentyp "Zugewiesen"
#Erstellung der neuen AzureAD-Gruppe
New-AzureADGroup -DisplayName $DestinationGroup -MailEnabled $SourceObjectStatic.MailEnabled -SecurityEnabled $SourceObjectStatic.SecurityEnabled -MailNickName $SourceObjectStatic.MailNickName -Description $SourceObjectStatic.Description
#Ermittlung der Standard-Parameter der Destination-Gruppe
$DestinationObject = Get-AzureADGroup -Filter "DisplayName eq '$DestinationGroup'"
#Ermittlung der Mitglieder
$SourceMembers = Get-azureadgroupmember -Objectid $SourceObjectStatic.ObjectId -all $true
#Setzen der Mitglieder in Ziel-Gruppe
Foreach ($Destinationmember in $Sourcemembers){
Add-AzureADGroupMember -ObjectId $DestinationObject.ObjectId -RefObjectId $destinationmember.ObjectId
}
#Ermittlung der Besitzer
$SourceOwners = Get-azureadgroupOwner -Objectid $SourceObjectStatic.ObjectId -all $true
#Setzen der Mitglieder in Ziel-Gruppe
Foreach ($DestinationOwner in $SourceOwners){
Add-AzureADGroupOwner -ObjectId $DestinationObject.ObjectId -RefObjectId $DestinationOwner.ObjectId
}
}