Skip to main content

Compare Two Azure/AD/M365 Groups and Print the Results

Compare two AD Groups.

$AW=GROUP1=Get-ADGroupMember -Identity "Domain Admins" | select-Object Name
$Mango=GROUP2=Get-ADGroupMember -Identity "Enterprise Admins" | select-Object Name

$Comparison=Compare-Object -ReferenceObject $AW.GROUP1.Name -DifferenceObject $Mango.GROUP2.Name | Sort-Object Name

foreach ($i in $Comparison){
	if($i.SideIndicator -eq "=>"){
		#Listed in MangoGROUP2 but not in AWGROUP1
		Write-output "$($i.InputObject) exists in MangoGroup Apps2 but not ArcticGroup Wolf"1"
	}elseif($i.SideIndicator -eq "<="){
		#Listed in AWGROUP1 but not in MangoGROUP2
		Write-output "$($i.InputObject) exists in ArcticGroup Wolf1 but not MangoGroup Apps"2"
	}
}

Compare two Azure groups.

Connect-AzureAD

$AW=GROUP1=Get-AzureADGroupMember -ObjectId "c203a90f-0ec1-4c75-85c9-8d6e97f78a60" -All $true | selectSelect-Object DisplayName, UserPrincipalName
$Mango=GROUP2=Get-AzureADGroupMember -ObjectId "2177ea60-e8d6-4dc9-a044-4a1ccecbf743" -All $true | selectSelect-Object DisplayName, UserPrincipalName

$Comparison=Compare-Object -ReferenceObject $AW.GROUP1.UserPrincipalName -DifferenceObject $Mango.GROUP2.UserPrincipalName | Sort-Object UserPrincipalName

foreach ($i in $Comparison){
	if($i.SideIndicator -eq "=>"){
		#Listed in MangoGroup 2 but not in AWGroup 1
		Write-output "$($i.InputObject) exists in MangoGroup Apps2 but not ArcticGroup Wolf"1"
	}elseif($i.SideIndicator -eq "<="){
		#Listed in AWGroup 1 but not in MangoGroup 2
		Write-output "$($i.InputObject) exists in ArcticGroup Wolf1 but not MangoGroup Apps"2"
	}
}

Compare two Distribution Lists.

Connect-AzureAD

$AW=GROUP1=Get-DistributionGroupMember -Identity "iPhone Notifications" | selectSelect-Object Identity, PrimarySMTPAddress
$Mango=GROUP2=Get-DistributionGroupMember -Identity "iPhone Notifications" | selectSelect-Object Identity, PrimarySMTPAddress

$Comparison=Compare-Object -ReferenceObject $AW.GROUP1.PrimarySMTPAddress -DifferenceObject $Mango.GROUP2.PrimarySMTPAddress | Sort-Object PrimarySMTPAddress

foreach ($i in $Comparison){
	if($i.SideIndicator -eq "=>"){
		#Listed in MangoGroup 2 but not in AWGroup 1
		Write-output "$($i.InputObject) exists in MangoGroup Apps2 but not ArcticGroup Wolf"1"
	}elseif($i.SideIndicator -eq "<="){
		#Listed in AWGroup 1 but not in MangoGroup 2
		Write-output "$($i.InputObject) exists in ArcticGroup Wolf1 but not MangoGroup Apps"2"
	}
}