Azure AD Connect : résoudre la non‑synchronisation d’UO vers Entra ID

Vous avez configuré Azure AD Connect pour ne répliquer qu’un sous‑ensemble d’unités d’organisation (UO), mais étonnamment, celles qui ne contiennent pour l’essentiel que des comptes Computer n’apparaissent pas dans Entra ID. Voici un guide exhaustif pour diagnostiquer et corriger ce scénario délicat.

Sommaire

Problématique : plusieurs UO ne se synchronisent pas vers Entra ID

La sélection d’UO filtrées est une pratique courante : elle réduit la charge réseau, accélère les cycles d’importation et s’aligne sur le principe du moindre privilège. Or, lorsque des UO pourtant bien cochées dans l’assistant n’envoient aucun objet — ni nouvel ordinateur, ni mise à jour — la confusion s’installe rapidement. Les erreurs sont d’autant plus insidieuses que :

  • le tableau de bord Azure AD Connect affiche un sync delta « 0 ajout / 0 mise à jour / 0 suppression » sans autre alerte ;
  • l’outil IDFix ne signale aucun attribut invalide ;
  • les journaux Windows ne relaient que des événements génériques (611, 612) sans mention spécifique d’UO filtrée.

Pour démêler la situation, il faut systématiquement passer en revue cinq catégories d’éléments : configuration, droits, règles de synchronisation, santé du moteur et inscription des appareils.

Points de contrôle essentiels

Élément à vérifierPourquoi c’est décisifComment procéder
Filtrage des UOSi l’UO n’est pas cochée, aucun objet ne partira.Assistant Azure AD Connect → Customize synchronization optionsOU selection.
Règles de synchronisation (Sync Rules)Une condition de scope ou de join peut exclure les ordinateurs.Ouvrir Synchronization Rules Editor → inspecter In from AD – Computer Join et In from AD – Device.
Permissions du compte de serviceSans droit Read, le moteur ignore l’UO.Déléguer Read (et idéalement Replicating Directory Changes) sur l’UO au compte ADSync.
Connectivité avec les contrôleurs de domaineLatence, ports fermés ou DC hors‑service empêchent la lecture.Tester les ports 389/636/3268 et exécuter DCDiag sur chaque DC concerné.
Mode Hybrid Azure AD JoinSeuls les ordinateurs « Hybrid Join » sont visibles dans Devices.Azure AD Connect → Configure device options → activer Hybrid Azure AD Join pour les OS ciblés.
Journaux de synchronisationDétectent les états DnIsFiltered = True, FilteredPendingDelete, etc.Ouvrir miisclient.exe → onglet Connector Space et/ou parcourir C:\ProgramData\AADConnect\sync\traces.

Analyse détaillée de chaque point de contrôle

Filtrage des UO : revérifier la case… réellement

Il n’est pas rare qu’un administrateur modifie la sélection d’UO, puis clique sur Next sans s’apercevoir qu’il doit encore valider par Configure. Tant que l’assistant n’est pas finalisé, la nouvelle liste de DN n’est pas écrite dans la base de métadonnées MSync. De plus, si vous avez récemment promu un nouveau contrôleur de domaine, l’UO peut exister dans l’annuaire USN, mais ne pas figurer côté AD Connect tant qu’un delta import complet n’a pas été exécuté. L’option la plus sûre consiste à :

  1. Ouvrir l’assistant, décocher puis recocher l’UO en question ;
  2. Terminer jusqu’au bouton Configure ;
  3. Lancer la commande Start-ADSyncSyncCycle -PolicyType Initial (cycle complet).

Règles de synchronisation : le piège des conditions de scope

Les règles In from AD – Computer Join et In from AD – Device vérifient notamment :

  • (userAccountControl & 0x2) == 0 : l’objet ne doit pas être désactivé ;
  • operatingSystem -ne $null : certains builds d’image managent effacent ce champ ;
  • objectCategory == computer et non user.

Une modification mineure, par exemple le passage d’un ordinateur en compte staging ou la suppression du champ dNSHostName, suffit à le rendre filtered. Inspectez la colonne Connector Space Object Properties pour valider chaque attribut avant le Projection Stage.

Permissions du compte de service : un Deny l’emporte toujours

En théorie, la délégation Read All Properties sur la racine du domaine confère l’accès universel. En pratique, un héritage inversé ou un Explicit Deny au niveau d’une UO enfant annule ce droit. Utilisez adsiedit.msc → Security TabAdvanced pour rechercher toute ACE en Deny affectant ADSync. N’oubliez pas que, lors d’une fusion de forêts, la SID du compte de service peut changer : le « nouveau » compte n’hérite pas automatiquement des ACE appliquées à l’ancien SID.

Connectivité avec les contrôleurs de domaine : latence et opportunité

Par design, Azure AD Connect interroge le DC le plus bas dans la liste AD DSA Preferred. Si ce DC se situe dans un site AD distant, la session LDAP peut expirer avant d’énumérer les 1000 premiers objets et laisser croire à un « succès » sans changement. Surveillez l’événement 650 (No Updates) dans le journal Application ; couplé à une latence réseau > 100 ms, c’est un indicateur imparable d’un time‑out silencieux. Le remède : forcer la découverte par site (Set-ADSyncScheduler -PreferredDC "DC1.contoso.local") ou déployer un serveur AD Connect dans la même zone de disponibilité.

Hybrid Azure AD Join : sans inscription, pas de Device

Les objets Computer ne créent pas d’UO miroir dans Entra ID. Ils se matérialisent comme un objet Device éligible à Intune, Endpoint Manager ou Defender. Sans le mode Hybrid, aucune projection ne s’opère : le moteur calcule le sourceAnchor, constate l’absence de device trust configuration et filtre l’objet. Pour vérifier l’inscription, exécutez dsregcmd /status sur un poste concerné : la section Device State doit afficher AzureAdJoined : YES et DomainJoined : YES.

Journaux de synchronisation : apprendre à lire MIIS

L’interface miisclient.exe reste l’outil le plus précis pour diagnostiquer une exclusion. Recherchez votre ordinateur dans le Connector Space de type AD. Trois scénarios sont possibles :

Absent : l’objet ne franchit pas l’étape d’import — vérifiez filtrage d’UO et droits.
Présent + DnIsFiltered = True : exclusion en stage 1 — inspectez les attributs manquants.
Présent + pending export : l’objet arrivera lors du prochain export, surveillez l’événement 650 – Export Started.

Plan d’action recommandé

  1. Revalider la sélection d’UO, forcer l’enregistrement, puis déclencher un cycle complet :
    Start-ADSyncSyncCycle -PolicyType Initial
  2. Examiner un ordinateur manquant dans Connector Space :
    • Absent ? Contrôler le droit Read et le DN exact de l’UO.
    • Présent mais filtré ? Ajuster la règle ou renseigner les attributs manquants (operatingSystem, dNSHostName…).
  3. Mettre à jour Azure AD Connect (ou Entra Connect Sync) vers la version la plus récente : chaque build corrige des anomalies de join, notamment sur les devices Windows 11 24H2.
  4. Vérifier le Hybrid Azure AD Join pour les OS concernés : Windows 10 1809+ et Windows Server 2016+.
    Astuce : vous pouvez activer la Device Writeback afin de tester la relation bi‑directionnelle.
  5. Surveiller l’export : après correction, attendez l’événement 653 – Export Completed. Un delta (par défaut toutes les 30 min) suffit ; nul besoin de répéter un cycle initial.
  6. Activer Azure AD Connect Health : recevez en temps réel les alertes « Staging Mode », « Password Hash Sync Latency » et « Connector Down ».

Scénarios avancés et bonnes pratiques

Objets désactivés et attribut userAccountControl

Dans certains environnements, le déploiement d’une image golden aboutit à la création d’ordinateurs dormants (OBJET désactivé jusqu’à la première connexion). Par défaut, la règle de scope exclut userAccountControl = 0x2. Envisagez une règle personnalisée In from AD – Computer Join (Custom) qui inclut les comptes désactivés pendant 14 jours, puis s’auto‑supprime via un attribut extensionAttributeX.

Nested OU : l’héritage qui piège

Le filtre Azure AD Connect ne tient pas compte du concept de descendant direct : cocher une UO parente inclut obligatoirement toutes ses enfants. À l’inverse, cocher une enfant sans sa parente n’est pas autorisé. Assurez‑vous que la case de la branche racine (où résident les ordinateurs) est bien active ; sinon, le chemin DN de l’objet est considéré comme « hors scope ».

Staging Mode et ferme de synchronisation

Dans un déploiement à haute disponibilité, un second serveur peut tourner en Staging Mode. Si la boîte de dialogue Scheduler a été désactivée par inadvertance (Set-ADSyncScheduler -SyncCycleEnabled $false), aucun export n’aura lieu. Les objets seront visibles dans le Connector Space sans jamais rejoindre Entra ID. Vérifiez l’état via Get-ADSyncScheduler.

Attributs indispensables à la projection Device

Pour les appareils Windows, trois attributs sont impératifs :

  • objectGUID (clé immuable)
  • dNSHostName (utilisé comme deviceDisplayName)
  • operatingSystem (mime l’OS dans le portail)

Un script de remediation PowerShell peut tourner en GPO Startup pour s’assurer que ces attributs sont toujours renseignés avant la prochaine réplication USN.

Journalisation avancée

Le fichier SyncEngine-date.log situé dans C:\ProgramData\AADConnect\sync\traces offre une vue verbeuse. Filtrez sur EventId="12000" pour repérer les objets filtrés. L’option /dumpsynchronizationconfig du binaire AzureADConnect.exe fournit un instantané XML complet de votre configuration ; stockez‑le avant chaque changement majeur.

Résumé

Identifier pourquoi une UO peuplée d’ordinateurs n’apparaît pas dans Entra ID passe par une méthodologie rigoureuse : valider le filtrage d’UO, analyser les règles de scope, garantir les droits de lecture, s’assurer de la connectivité AD, activer le mode Hybrid Azure AD Join et décoder les journaux MIIS. En traitant chaque étape l’une après l’autre, vous isolerez rapidement la cause – souvent un attribut manquant ou un droit bloquant – et rétablirez la continuité de synchronisation indispensable à la gestion moderne des appareils.

Sommaire