Lorsque vous ouvrez l’Observateur d’\u00e9v\u00e9nements sur un contr\u00f4leur de domaine Windows Server et trouvez le Event ID 4012 dans le journal de R\u00e9plication DFS, cela signifie que le service de R\u00e9plication DFS a cess\u00e9 de r\u00e9pliquer un dossier \u2014 le plus souvent SYSVOL. Il s’agit d’un probl\u00e8me critique car SYSVOL contient les objets de strat\u00e9gie de groupe, les scripts de connexion et d’autres ressources \u00e0 l’\u00e9chelle du domaine. Un contr\u00f4leur de domaine qui cesse de r\u00e9pliquer SYSVOL fournira des strat\u00e9gies de groupe obsol\u00e8tes ou manquantes aux clients, entra\u00eenant des param\u00e8tres de s\u00e9curit\u00e9 incoh\u00e9rents et des scripts de connexion d\u00e9faillants dans tout votre environnement. Dans ce guide, vous apprendrez \u00e0 diagnostiquer le Event ID 4012, comprendre ses causes profondes et le r\u00e9soudre en utilisant des outils graphiques et des commandes PowerShell.
Pr\u00e9requis
Avant de commencer le d\u00e9pannage, assurez-vous de disposer de :
- Privil\u00e8ges Administrateur de domaine ou \u00e9quivalents sur le contr\u00f4leur de domaine affect\u00e9
- Acc\u00e8s Bureau \u00e0 distance ou console au serveur affect\u00e9
- Outils RSAT install\u00e9s, incluant les composants logiciels enfichables Active Directory et Gestion DFS
- PowerShell 5.1 ou ult\u00e9rieur avec le module DFSR disponible
- ADSIEDIT.MSC accessible pour modifier les attributs AD
- Un second contr\u00f4leur de domaine avec une r\u00e9plication SYSVOL saine servant de partenaire de r\u00e9f\u00e9rence
- Une sauvegarde System State r\u00e9cente d’au moins un contr\u00f4leur de domaine (comme filet de s\u00e9curit\u00e9)
Comprendre le DFSR Event ID 4012
Le Event ID 4012 appara\u00eet dans la section Journaux des applications et services > R\u00e9plication DFS de l’Observateur d’\u00e9v\u00e9nements. Le message complet de l’\u00e9v\u00e9nement indique :
The DFS Replication service stopped replication on the folder at local path C:\Windows\SYSVOL\domain. This server has been disconnected from other partners for [nombre] days, which is longer than the time allowed.
Cet \u00e9v\u00e9nement se d\u00e9clenche lorsque l’une des conditions suivantes est remplie :
- Journal wrap d\u00e9tect\u00e9 : Le journal USN du volume a \u00e9t\u00e9 recycl\u00e9 ou a fait le tour, ce qui signifie que DFSR ne peut plus suivre les fichiers modifi\u00e9s depuis son dernier cycle de r\u00e9plication.
- R\u00e9cup\u00e9ration apr\u00e8s arr\u00eat inattendu : Le serveur a subi un arr\u00eat inattendu (panne de courant, BSOD) et la base de donn\u00e9es DFSR est dans un \u00e9tat incoh\u00e9rent.
- D\u00e9connexion prolong\u00e9e : Le contr\u00f4leur de domaine a \u00e9t\u00e9 hors ligne ou incapable de joindre les partenaires de r\u00e9plication pendant plus longtemps que le MaxOfflineTimeInDays configur\u00e9 (60 jours par d\u00e9faut).
- Corruption de la base de donn\u00e9es : Les fichiers de base de donn\u00e9es DFSR dans le dossier
System Volume Informationsont corrompus.
Lorsque cet \u00e9v\u00e9nement est enregistr\u00e9, DFSR entre dans un \u00e9tat arr\u00eat\u00e9 pour le dossier de r\u00e9plication concern\u00e9. Il ne reprendra pas automatiquement la r\u00e9plication \u2014 vous devez intervenir manuellement.
Impact sur Votre Environnement
Les cons\u00e9quences d’un Event ID 4012 non r\u00e9solu sont significatives :
- Incoh\u00e9rence des strat\u00e9gies de groupe : Les clients s’authentifiant aupr\u00e8s du DC affect\u00e9 re\u00e7oivent des GPO obsol\u00e8tes ou manquants
- \u00c9checs des scripts de connexion : Les scripts stock\u00e9s dans SYSVOL\scripts peuvent \u00eatre manquants ou obsol\u00e8tes
- Croissance du backlog DFSR : Les DC partenaires accumulent un backlog croissant de modifications en attente
- Probl\u00e8mes d’authentification : Dans les cas s\u00e9v\u00e8res, les strat\u00e9gies Kerberos et les param\u00e8tres d’inscription automatique de certificats divergent
Diagnostiquer le Probl\u00e8me
Commencez votre diagnostic en collectant des informations de multiples sources. Ex\u00e9cutez ces commandes depuis une session PowerShell \u00e9lev\u00e9e sur le contr\u00f4leur de domaine affect\u00e9.
V\u00e9rifier l’\u00c9tat de R\u00e9plication DFSR
# V\u00e9rifier l'\u00e9tat de r\u00e9plication sur tous les DCs
Get-DfsReplicationGroup | Get-DfsReplicatedFolder | Get-DfsrState
# V\u00e9rifier sp\u00e9cifiquement la r\u00e9plication SYSVOL
Get-DfsReplicationGroup -GroupName "Domain System Volume" |
Get-DfsReplicatedFolder |
Get-DfsrState
La sortie affiche l’\u00e9tat de r\u00e9plication de chaque membre. Recherchez les entr\u00e9es o\u00f9 la colonne State affiche Stopped ou In Error.
Interroger le Journal d’\u00c9v\u00e9nements avec PowerShell
# Obtenir les 10 derni\u00e8res entr\u00e9es du Event ID 4012
Get-WinEvent -FilterHashtable @{
LogName = 'DFS Replication'
Id = 4012
} -MaxEvents 10 | Format-List TimeCreated, Message
# V\u00e9rifier les \u00e9v\u00e9nements li\u00e9s (4010, 4012, 4014)
Get-WinEvent -FilterHashtable @{
LogName = 'DFS Replication'
Id = 4010, 4012, 4014
} -MaxEvents 20 | Format-Table TimeCreated, Id, Message -Wrap
Ex\u00e9cuter les Diagnostics DFSRDIAG
# V\u00e9rifier l'\u00e9tat g\u00e9n\u00e9ral de r\u00e9plication
dfsrdiag ReplicationState
# V\u00e9rifier le backlog de r\u00e9plication entre deux DCs
dfsrdiag Backlog /rgname:"Domain System Volume" /rfname:"SYSVOL Share" /sendingmember:DC01 /receivingmember:DC02
# Forcer DFSR \u00e0 interroger Active Directory pour les changements de configuration
dfsrdiag PollAD
V\u00e9rifier le Partage SYSVOL et Son Contenu
# V\u00e9rifier si les partages SYSVOL et NETLOGON existent
Get-SmbShare | Where-Object { $_.Name -match 'SYSVOL|NETLOGON' }
# Comparer le contenu SYSVOL entre les DCs
$dc1 = Get-ChildItem "\\DC01\SYSVOL\domain\Policies" -Recurse | Measure-Object
$dc2 = Get-ChildItem "\\DC02\SYSVOL\domain\Policies" -Recurse | Measure-Object
Write-Host "DC01 \u00e9l\u00e9ments: $($dc1.Count) | DC02 \u00e9l\u00e9ments: $($dc2.Count)"
Comparaison : Synchronisation Autoritaire vs Non Autoritaire
Avant de proc\u00e9der \u00e0 la correction, vous devez d\u00e9cider quel type de synchronisation effectuer. Le choix d\u00e9pend du contr\u00f4leur de domaine qui poss\u00e8de les bonnes donn\u00e9es SYSVOL.
| Aspect | Synchronisation Autoritaire | Synchronisation Non Autoritaire |
|---|---|---|
| Quand utiliser | Le DC affect\u00e9 poss\u00e8de les bonnes donn\u00e9es SYSVOL | Un partenaire sain poss\u00e8de les bonnes donn\u00e9es |
| Flux de donn\u00e9es | Le DC affect\u00e9 envoie ses donn\u00e9es \u00e0 tous les partenaires | Le DC affect\u00e9 obtient les donn\u00e9es d’un partenaire |
| Valeur msDFSR-Options | D\u00e9fini sur 1 sur le DC autoritaire | Laisser par d\u00e9faut (pas de changement) |
| Niveau de risque | Plus \u00e9lev\u00e9 \u2014 \u00e9crase toutes les r\u00e9pliques partenaires | Plus faible \u2014 seule la copie locale est reconstruite |
| Sc\u00e9nario typique | Le PDC Emulator poss\u00e8de les bonnes strat\u00e9gies | Un DC secondaire a perdu SYSVOL apr\u00e8s une panne |
| Changements attributs AD | msDFSR-Enabled + msDFSR-Options | msDFSR-Enabled uniquement |
| Temps de r\u00e9cup\u00e9ration | Plus long (tous les partenaires re-synchronisent depuis ce DC) | Plus court (seul le DC local re-synchronise) |
| Utiliser sur PDC Emulator | Oui, c’est le cas le plus courant | Rarement \u2014 seulement si les donn\u00e9es du PDC sont corrompues |
R\u00e8gle g\u00e9n\u00e9rale : Si un seul ou quelques DCs ont le Event ID 4012, effectuez une synchronisation non autoritaire sur ces DCs. Si SYSVOL est cass\u00e9 sur plusieurs DCs, effectuez une synchronisation autoritaire depuis le DC avec les meilleures donn\u00e9es (g\u00e9n\u00e9ralement le PDC Emulator).
R\u00e9solution \u00c9tape par \u00c9tape
Synchronisation Non Autoritaire (La Plus Courante)
Utilisez-la lorsque le DC affect\u00e9 doit re-t\u00e9l\u00e9charger SYSVOL depuis un partenaire sain.
\u00c9tape 1 : Ouvrez ADSIEDIT.MSC sur le contr\u00f4leur de domaine affect\u00e9 ou une station de travail d’administration.
\u00c9tape 2 : Naviguez vers l’objet d’abonnement DFSR :
CN=SYSVOL Subscription,CN=Domain System Volume,
CN=DFSR-LocalSettings,CN=<NomDC>,OU=Domain Controllers,DC=domaine,DC=com
\u00c9tape 3 : D\u00e9finissez msDFSR-Enabled sur FALSE.
\u00c9tape 4 : Forcez la r\u00e9plication Active Directory sur tous les contr\u00f4leurs de domaine :
# Forcer la r\u00e9plication depuis tous les partenaires
repadmin /syncall /APed
\u00c9tape 5 : Ex\u00e9cutez DFSRDIAG POLLAD sur le DC affect\u00e9 :
dfsrdiag PollAD
V\u00e9rifiez que le Event ID 4114 appara\u00eet dans le journal de R\u00e9plication DFS, confirmant que DFSR a pris en compte le changement de configuration.
\u00c9tape 6 : Red\u00e9finissez msDFSR-Enabled sur TRUE dans ADSIEDIT.MSC sur le m\u00eame DN.
\u00c9tape 7 : Forcez la r\u00e9plication AD \u00e0 nouveau et ex\u00e9cutez DFSRDIAG POLLAD :
repadmin /syncall /APed
dfsrdiag PollAD
\u00c9tape 8 : V\u00e9rifiez la r\u00e9cup\u00e9ration en cherchant les Event IDs :
- 4614 : “The DFS Replication service initialized SYSVOL” (synchronisation initiale d\u00e9marr\u00e9e)
- 4604 : “The DFS Replication service successfully initialized SYSVOL” (synchronisation termin\u00e9e)
Get-WinEvent -FilterHashtable @{
LogName = 'DFS Replication'
Id = 4604, 4614
} -MaxEvents 5 | Format-List TimeCreated, Message
Synchronisation Autoritaire
Utilisez-la lorsque le DC affect\u00e9 poss\u00e8de les bonnes donn\u00e9es et doit les envoyer \u00e0 tous les partenaires.
Suivez les m\u00eames \u00e9tapes ci-dessus, mais \u00e0 l’\u00e9tape 6, avant de red\u00e9finir msDFSR-Enabled sur TRUE, d\u00e9finissez \u00e9galement msDFSR-Options sur 1 sur l’objet SYSVOL Subscription du DC autoritaire. Ce drapeau indique \u00e0 DFSR que la copie de ce serveur fait autorit\u00e9 et que tous les partenaires doivent synchroniser depuis lui.
Apr\u00e8s la r\u00e9cup\u00e9ration du DC autoritaire (Event 4602/4604), effectuez une synchronisation non autoritaire sur tous les autres contr\u00f4leurs de domaine pour obtenir les donn\u00e9es autoritaires.
Sc\u00e9nario R\u00e9el
Vous g\u00e9rez un environnement Active Directory multi-sites avec cinq contr\u00f4leurs de domaine : DC01 (PDC Emulator) au bureau principal, DC02 et DC03 dans des succursales, DC04 sur un site de reprise apr\u00e8s sinistre et DC05 en tant que contr\u00f4leur de domaine en lecture seule. Apr\u00e8s une panne de stockage \u00e0 la succursale, DC02 a \u00e9t\u00e9 reconstruit \u00e0 partir de z\u00e9ro et rejoint au domaine. Deux jours plus tard, le service d’assistance signale que les utilisateurs de la succursale ne re\u00e7oivent pas les derni\u00e8res strat\u00e9gies de groupe.
Vous vous connectez \u00e0 DC02 et trouvez le Event ID 4012 dans le journal de R\u00e9plication DFS. En ex\u00e9cutant Get-DfsrState, vous confirmez que la r\u00e9plication SYSVOL est arr\u00eat\u00e9e sur DC02. Le partage SYSVOL existe mais ne contient qu’un ensemble partiel de GPOs.
Votre plan : effectuer une synchronisation non autoritaire sur DC02. Vous ouvrez ADSIEDIT.MSC, naviguez vers DFSR-LocalSettings de DC02, d\u00e9finissez msDFSR-Enabled sur FALSE, forcez la r\u00e9plication AD avec repadmin /syncall /APed et ex\u00e9cutez dfsrdiag PollAD. Le Event 4114 confirme que DFSR s’est arr\u00eat\u00e9. Vous red\u00e9finissez msDFSR-Enabled sur TRUE, forcez la r\u00e9plication \u00e0 nouveau et ex\u00e9cutez PollAD. En quelques minutes, le Event 4604 appara\u00eet \u2014 SYSVOL a \u00e9t\u00e9 r\u00e9initialis\u00e9. Vous v\u00e9rifiez en comparant le nombre de strat\u00e9gies dans le partage SYSVOL de DC02 avec celui de DC01, et les chiffres correspondent. Les strat\u00e9gies de groupe fonctionnent correctement \u00e0 nouveau.
Pi\u00e8ges et Cas Particuliers
Journal wrap sur de grands volumes : Si le journal USN a fait le tour, vous pouvez voir le Event ID 4012 accompagn\u00e9 du Event ID 4010. La simple r\u00e9initialisation de msDFSR-Enabled peut ne pas suffire \u2014 vous devrez peut-\u00eatre supprimer la base de donn\u00e9es DFSR. Arr\u00eatez le service DFSR, supprimez les fichiers dans C:\System Volume Information\DFSR\ sur le volume concern\u00e9, puis red\u00e9marrez DFSR avant d’effectuer la synchronisation non autoritaire.
Arr\u00eat inattendu et corruption de base de donn\u00e9es : Apr\u00e8s un BSOD ou une perte de courant inattendue, la base de donn\u00e9es DFSR peut \u00eatre marqu\u00e9e comme corrompue. Le Event ID 2213 accompagne souvent le 4012 dans ce cas. La proc\u00e9dure de r\u00e9cup\u00e9ration est la m\u00eame que pour le journal wrap \u2014 arr\u00eatez DFSR, nettoyez la base de donn\u00e9es et effectuez une synchronisation non autoritaire.
MaxOfflineTimeInDays d\u00e9pass\u00e9 : Si un DC a \u00e9t\u00e9 hors ligne pendant plus de 60 jours (la valeur par d\u00e9faut), DFSR refuse de r\u00e9pliquer m\u00eame apr\u00e8s reconnexion. Vous pouvez temporairement augmenter cette valeur avec PowerShell avant la synchronisation :
# Augmenter temporairement le temps maximum hors ligne \u00e0 120 jours
Set-DfsReplicationGroup -GroupName "Domain System Volume" -Description "Augmentation temporaire" |
Set-DfsrMembership -MaxOfflineTimeInDays 120
Contr\u00f4leurs de Domaine en Lecture Seule (RODCs) : Les RODCs r\u00e9pliquent SYSVOL dans une seule direction. Si un RODC affiche le Event 4012, la correction est toujours non autoritaire. Ne tentez jamais une synchronisation autoritaire depuis un RODC.
Plusieurs DCs affect\u00e9s simultan\u00e9ment : Si plus de la moiti\u00e9 de vos DCs ont cess\u00e9 de r\u00e9pliquer SYSVOL, commencez par le PDC Emulator. Effectuez une synchronisation autoritaire sur le PDC d’abord, puis syst\u00e9matiquement des synchronisations non autoritaires sur les DCs restants un par un, en attendant le Event 4604 sur chacun avant de passer au suivant.
Windows Server 2012 R2 vs 2016+ : Sur Server 2016 et ult\u00e9rieur, DFSR peut se r\u00e9cup\u00e9rer automatiquement de certains sc\u00e9narios de journal wrap. Cependant, le Event ID 4012 n\u00e9cessite toujours une intervention manuelle quelle que soit la version du syst\u00e8me d’exploitation.
R\u00e9solution de Probl\u00e8mes
Le Event 4012 r\u00e9appara\u00eet apr\u00e8s la correction : Cela indique g\u00e9n\u00e9ralement un probl\u00e8me sous-jacent de disque ou de volume. V\u00e9rifiez le journal Syst\u00e8me pour les erreurs de disque (Event IDs 7, 11, 51, 153). Ex\u00e9cutez chkdsk /f sur le volume h\u00e9bergeant SYSVOL. Si le volume est sur un disque virtuel, v\u00e9rifiez la sant\u00e9 du stockage virtuel.
DFSRDIAG POLLAD se bloque ou retourne une erreur : Assurez-vous que le service DFSR est en cours d’ex\u00e9cution (Get-Service DFSR). S’il est arr\u00eat\u00e9, d\u00e9marrez-le avant d’ex\u00e9cuter PollAD. Si le service ne d\u00e9marre pas, v\u00e9rifiez les verrous de base de donn\u00e9es DFSR dans System Volume Information\DFSR\.
Le Event 4614 appara\u00eet mais le 4604 n’arrive jamais : La synchronisation initiale a commenc\u00e9 mais ne se termine pas. V\u00e9rifiez la connectivit\u00e9 r\u00e9seau entre le DC affect\u00e9 et ses partenaires de r\u00e9plication. Confirmez que le port TCP 5722 (DFSR) et les ports \u00e9ph\u00e9m\u00e8res RPC sont ouverts dans le pare-feu.
Le partage SYSVOL dispara\u00eet apr\u00e8s la correction : Les partages NETLOGON et SYSVOL peuvent ne pas r\u00e9appara\u00eetre tant que DFSR n’a pas termin\u00e9 la synchronisation initiale et d\u00e9fini le drapeau SYSVOL pr\u00eat. Attendez le Event 4604 puis ex\u00e9cutez net share pour v\u00e9rifier. Si les partages n’apparaissent toujours pas, red\u00e9marrez le service Netlogon :
Restart-Service Netlogon
Le backlog de r\u00e9plication reste \u00e9lev\u00e9 : Apr\u00e8s la r\u00e9cup\u00e9ration, v\u00e9rifiez le backlog entre le DC corrig\u00e9 et ses partenaires :
dfsrdiag Backlog /rgname:"Domain System Volume" /rfname:"SYSVOL Share" /sendingmember:DC01 /receivingmember:DC02
Si le backlog ne diminue pas, v\u00e9rifiez que le service DFSR est en cours d’ex\u00e9cution des deux c\u00f4t\u00e9s et que la r\u00e9plication AD est saine en utilisant repadmin /replsummary.
R\u00e9sum\u00e9
- Le Event ID 4012 signifie que DFSR a cess\u00e9 de r\u00e9pliquer un dossier (g\u00e9n\u00e9ralement SYSVOL) et ne reprendra pas sans intervention manuelle
- Les causes courantes incluent le journal wrap, l’arr\u00eat inattendu, la corruption de base de donn\u00e9es et le temps hors ligne prolong\u00e9 d\u00e9passant MaxOfflineTimeInDays
- Utilisez Get-DfsrState, dfsrdiag et l’Observateur d’\u00e9v\u00e9nements pour diagnostiquer la port\u00e9e et la cause profonde
- Choisissez la synchronisation non autoritaire lorsque le DC affect\u00e9 doit obtenir SYSVOL d’un partenaire sain (correction la plus courante)
- Choisissez la synchronisation autoritaire lorsque le DC affect\u00e9 poss\u00e8de les bonnes donn\u00e9es SYSVOL et doit les envoyer \u00e0 tous les partenaires
- La correction implique de basculer msDFSR-Enabled dans ADSIEDIT.MSC, forcer la r\u00e9plication AD et ex\u00e9cuter DFSRDIAG POLLAD
- V\u00e9rifiez la r\u00e9cup\u00e9ration en cherchant le Event ID 4604 dans le journal de R\u00e9plication DFS
- Pour les probl\u00e8mes persistants, examinez la sant\u00e9 du disque, la connectivit\u00e9 r\u00e9seau sur le port TCP 5722 et l’int\u00e9grit\u00e9 de la base de donn\u00e9es DFSR
Articles Connexes
- How to force an authoritative and non-authoritative synchronization for DFSR-replicated SYSVOL (like D4/D2 for FRS)
- DFSR: How to Properly Size the Staging Folder and Conflict and Deleted Folder
- How to: Force Active Directory Replication Between Domain Controllers
- Resolved: Hyper-V General access denied error when trying to load a Virtual Hard Drive