Fusion des comptes Active Directory on‑prem avec Entra ID existants : Guide complet Azure AD Connect (2025)

Vous disposez déjà d’utilisateurs créés dans Microsoft 365/Entra ID et de comptes équivalents dans un Active Directory on‑premises pour Exchange. Objectif : les fusionner proprement via Azure AD Connect afin d’offrir le SSO hybride sans doublons ni interruptions.

Sommaire

Contexte de l’opération

Lorsqu’un tenant Microsoft 365 est mis en service avant l’installation d’Azure AD Connect, les utilisateurs sont souvent provisionnés directement dans le cloud (création manuelle, CSV, ou Microsoft 365 Admin Center). Après quelques mois, l’entreprise décide d’étendre la synchronisation aux identités on‑prem : c’est là que survient le conflit ProxyAddresses SMTP:user@contoso.com already associated with another object. Sans action de votre part, Azure AD Connect considérera les comptes locaux comme « nouveaux » et créera des doublons ou lèvera des erreurs de correspondance.

Pourquoi parle‑t‑on de soft‑match et de hard‑match ?

  • Soft‑match (automatique) : Azure AD Connect associe deux enregistrements si l’UPN ou l’adresse SMTP principale est identique. Aucun script n’est requis, mais la fonctionnalité doit être activée côté service.
  • Hard‑match (manuel) : lorsque le soft‑match échoue (doublons, adresses divergentes, historique complexe), on force l’association en injectant l’ImmutableID calculé depuis l’ObjectGUID on‑prem dans le compte cloud existant.

Prérequis et bonnes pratiques 2025

  • Installer Azure AD Connect v2.x (ou Migration vers Entra ID Connect lorsqu’il sera GA), afin de bénéficier de TLS 1.2, d’une base SQL LocalDB 2019 et de correctifs récents.
  • Disposer d’un service account avec des droits § Replicating Directory Changes + § Read Permissions sur l’OU ciblée.
  • Activer Azure AD Connect Health pour la visibilité des alertes (Duplicate Attributes, Synchronization Errors, etc.).
  • Nettoyer les attributs : un seul SMTP: par utilisateur et pas d’adresse secondaire identique entre deux comptes.
  • Préférer désormais Microsoft Graph PowerShell (Mg) aux modules MSOnline/AzureAD, dépréciés.

Étapes détaillées de la fusion

ÉtapeExplicationCommandes / actions clés
1. Activer le soft‑match sur l’UPNPermet à Azure AD Connect de détecter et d’unifier deux comptes possédant le même UPN ou la même adresse SMTP principale.PowerShell Set-MsolDirSyncFeature -Feature EnableSoftMatchOnUpn -Enable $true Remarque : la cmdlet figure toujours dans MSOnline, mais elle n’est exécutée qu’une seule fois ; aucune tâche récurrente ne subsiste.
2. Lancer une synchronisation de type DeltaPropage immédiatement la nouvelle configuration vers Entra ID sans attendre le cycle programmé (30 min par défaut).Start-ADSyncSyncCycle -PolicyType Delta
3. Éliminer les doublons proxyAddressesUn soft‑match échoue si deux comptes portent exactement la même valeur (smtp:user@contoso.com).Dans AD, exécutez :
Get-ADUser -Filter {proxyAddresses -like '*SMTP:user@contoso.com*'} ` -Properties proxyAddresses Supprimez l’entrée en trop et relancez Delta Sync.
4. Appliquer un hard‑match cibléPour un compte « récalcitrant » qui ne se fusionne toujours pas : calculez son ObjectGUIDImmutableID → injectez‑le côté cloud.# On‑prem $u = Get-ADUser -Identity "jdupont" -Properties ObjectGUID $id = [Convert]::ToBase64String($u.ObjectGUID.ToByteArray()) # Cloud Install-Module Microsoft.Graph -Scope CurrentUser Connect-MgGraph -Scopes User.ReadWrite.All Update-MgUser -UserId "[j.dupont@contoso.com](mailto:j.dupont@contoso.com)" -OnPremisesImmutableId \$id # Relance Start-ADSyncSyncCycle -PolicyType Delta
5. Réinitialiser un mauvais jumelageSi un ImmutableID erroné empêche la fusion, mettez‑le à $null ; dès le prochain cycle, le compte pourra être réassocié.Update-MgUser -UserId "j.dupont@contoso.com" -OnPremisesImmutableId $null
6. Sortir du module MSOnlinePlanifiez la big bang : toutes vos automatisations (reporting, provisioning) doivent passer sur Microsoft Graph avant la fin de support annoncée.Exemples de substitutions : Get-MsolUserGet-MgUser -All Set-MsolUserPasswordUpdate-MgUser -PasswordProfile …

Vérifications post‑fusion

Contrôle rapide via le Portail Entra ID

  1. Ouvrez Entra ID → Users → All users.
  2. Filtrez par Source et vérifiez que les comptes concernés sont désormais en Synchronised.
  3. La colonne ImmutableID doit afficher une valeur Base64 (ou être vide si soft‑match).

Audit en PowerShell

Connect-MgGraph -Scopes Directory.Read.All
Get-MgUser -Filter "onPremisesImmutableId ne null" |
  Select-Object DisplayName, UserPrincipalName, OnPremisesSyncEnabled

Cet export permet d’identifier les comptes qui n’ont pas encore reçu d’ImmutableID (soft‑match) et ceux qui en portent déjà un (hard‑match).

Gestion des erreurs fréquentes

Message d’erreurCause racineRésolution
Unable to update this object because the following attributes are immutable...Un compte cloud possède déjà un UPN/SMTP identique mais son ImmutableID renvoie à un autre objet on‑prem.Réinitialiser le champ à null, puis relancer un hard‑match avec l’ObjectGUID correct.
Property Conflict: The value "SMTP:user@contoso.com" already exists.Adresse en double dans proxyAddresses.Supprimez la valeur en trop, assurez‑vous qu’un seul SMTP: (majuscule) est défini par utilisateur.
Sync-dirsync-delta Import: failed-modifiedLe service ne parvient pas à lire l’attribut concerné (ACL, permission).Vérifiez que le compte MSOL_<GUID> a les droits Read/Replicating Directory Changes sur l’OU.

Surveillance continue & maintenance

Une fois la fusion réussie, sécurisez votre environnement hybride :

  • Azure AD Connect Health : configurez les alertes par e‑mail pour toute erreur de duplication, de latence ou de quorum SQL.
  • Rapports mensuels : exportez la liste des comptes DirSyncEnabled et comparez‑la aux utilisateurs actifs dans AD afin d’identifier les « orphelins » potentiels.
  • Mises à jour trimestrielles : appliquez les cumulative updates d’Azure AD Connect (ou de son successeur) pour rester compatible avec les évolutions du service Entra.
  • Documentation vivante : notez la procédure de hard‑match et son script PowerShell dans votre runbook ; en 2025, l’onboarding d’une nouvelle filiale se fait souvent via rachat—le besoin reviendra !

FAQ – Questions fréquentes

Le soft‑match fonctionne‑t‑il si mon UPN on‑prem diffère du compte cloud ?

Non. Les deux valeurs doivent être strictement identiques, ou l’adresse SMTP principale doit correspondre. Si vous ne souhaitez pas renommer les comptes, recourez au hard‑match.

Quelle est la taille maximale d’un attribut proxyAddresses ?

1 024 caractères cumulés par objet. Au‑delà, Azure AD Connect tronque la valeur et génère une sync error.

Puis‑je supprimer complètement un ImmutableID ?

Oui, mais uniquement côté cloud avec Update-MgUser -OnPremisesImmutableId $null. Ne modifiez jamais l’ObjectGUID dans AD.

En cas de rollback, comment « désunir » les comptes ?

Vous devrez :

  1. Mettre OnPremisesImmutableId à null sur le compte cloud.
  2. Désactiver la synchronisation pour l’utilisateur (Set-MgUser -OnPremisesSyncEnabled $false).
  3. Supprimer le compte on‑prem ou changer son UPN avant de réactiver la sync.

Annexe A : Script de diagnostic complet

Le script ci‑dessous recense les comptes cloud possédant un UPN identique mais un ImmutableID manquant, afin d’anticiper les échecs de soft‑match :

# Requires Microsoft.Graph v2
Connect-MgGraph -Scopes Directory.Read.All

\$cloudUsers = Get-MgUser -All |
Select DisplayName, UserPrincipalName, OnPremisesImmutableId

\$issues = \$cloudUsers |
Where-Object { \$*.OnPremisesImmutableId -eq \$null -and \$*.UserPrincipalName -like '\*@contoso.com' }

\$issues | Export-Csv "SoftMatch\_Pending.csv" -NoTypeInformation
Write-Host "Rapport généré : SoftMatch\_Pending.csv" 

Annexe B : Checklist avant mise en production

  • ✅ Sauvegarde de l’Active Directory (System State) & snapshot du serveur Azure AD Connect.
  • ✅ Activation du soft‑match sur l’UPN.
  • ✅ Validation des attributs UPN & proxyAddresses (uniques, pas de caractères accentués).
  • ✅ Communication interne : informer les utilisateurs qu’un court gel des modifications de profil aura lieu.
  • ✅ Script PowerShell de hard‑match prêt et testé en pré‑production.

Conclusion

En combinant la méthode soft‑match pour la majorité des comptes et le hard‑match pour les cas particuliers, il est possible de migrer vers un environnement hybride sans recréer les boîtes mail, sans perte d’historique et sans déranger l’utilisateur final. La clé du succès réside dans un nettoyage rigoureux des attributs et l’adoption progressive de Microsoft Graph PowerShell, pierre angulaire des scripts d’administration Entra ID d’ici 2025.

Sommaire