Skip to main content

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

Compare two AD Groups.

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

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

foreach ($i in $Comparison){
	if($i.SideIndicator -eq "=>"){
		#Listed in Mango but not in AW
		Write-output "$($i.InputObject) exists in Mango Apps but not Arctic Wolf"
	}elseif($i.SideIndicator -eq "<="){
		#Listed in AW but not in Mango
		Write-output "$($i.InputObject) exists in Arctic Wolf but not Mango Apps"
	}
}

Compare two Azure groups.

Connect-AzureAD

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

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

foreach ($i in $Comparison){
	if($i.SideIndicator -eq "=>"){
		#Listed in Mango but not in AW
		Write-output "$($i.InputObject) exists in Mango Apps but not Arctic Wolf"
	}elseif($i.SideIndicator -eq "<="){
		#Listed in AW but not in Mango
		Write-output "$($i.InputObject) exists in Arctic Wolf but not Mango Apps"
	}
}