Nous allons maintenant identifier les groupes orphelins qui restent généralement après la suppression d'Azure AD Connect ou d'autres outils de synchronisation. Ces groupes ont souvent des caractéristiques spécifiques qui les rendent identifiables.
# Obtenez tous les groupes et filtrez pour les groupes potentiellement orphelins
$allGroups = Get-MgGroup -All -Property Id, DisplayName, Description, GroupTypes, SecurityEnabled, MailEnabled, OnPremisesSyncEnabled, CreatedDateTime
# Filtrez pour les groupes qui sont probablement orphelins (synchronisés sur site mais plus actifs)
$orphanedGroups = $allGroups | Where-Object {
$_.OnPremisesSyncEnabled -eq $true -and
$_.Description -like "*orphaned*" -or
$_.DisplayName -like "*_*" -or
$_.DisplayName -match "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
}
# Affichez les groupes potentiellement orphelins
$orphanedGroups | Select-Object DisplayName, Id, Description, CreatedDateTime | Format-Table -AutoSize
Cette commande identifie les groupes avec des caractéristiques communes aux orphelins : synchronisation sur site activée, noms de type GUID ou descriptions contenant "orphaned".
Pour une recherche plus complète, vérifiez les groupes sans membres :
# Vérifiez les groupes vides qui pourraient être orphelins
$emptyGroups = @()
foreach ($group in $allGroups) {
$memberCount = (Get-MgGroupMember -GroupId $group.Id -All).Count
if ($memberCount -eq 0) {
$emptyGroups += $group
}
}
$emptyGroups | Select-Object DisplayName, Id, CreatedDateTime | Format-Table -AutoSize
Astuce pro : Passez toujours en revue la liste manuellement avant de supprimer. Certains groupes vides pourraient être intentionnellement créés pour une utilisation future.