Cuando abres el Visor de Eventos en un controlador de dominio de Windows Server y encuentras el Event ID 4012 en el registro de Replicaci\u00f3n DFS, significa que el servicio de Replicaci\u00f3n DFS ha dejado de replicar una carpeta, com\u00fanmente SYSVOL. Este es un problema cr\u00edtico porque SYSVOL contiene los objetos de directiva de grupo, scripts de inicio de sesi\u00f3n y otros recursos de todo el dominio. Un controlador de dominio que deja de replicar SYSVOL servir\u00e1 directivas de grupo obsoletas o faltantes a los clientes, generando configuraciones de seguridad inconsistentes y scripts de inicio de sesi\u00f3n rotos en todo tu entorno. En esta gu\u00eda, aprender\u00e1s a diagnosticar el Event ID 4012, comprender sus causas ra\u00edz y resolverlo usando tanto herramientas gr\u00e1ficas como comandos de PowerShell.

Requisitos Previos

Antes de comenzar la soluci\u00f3n de problemas, aseg\u00farate de tener:

  • Privilegios de Administrador de Dominio o equivalentes en el controlador de dominio afectado
  • Acceso por Escritorio Remoto o consola al servidor afectado
  • Herramientas RSAT instaladas, incluyendo los complementos de Active Directory y Administraci\u00f3n de DFS
  • PowerShell 5.1 o posterior con el m\u00f3dulo DFSR disponible
  • ADSIEDIT.MSC accesible para modificar atributos de AD
  • Un segundo controlador de dominio con replicaci\u00f3n SYSVOL saludable como socio de referencia
  • Una copia de seguridad del System State reciente de al menos un controlador de dominio (como red de seguridad)

Comprendiendo el DFSR Event ID 4012

El Event ID 4012 aparece en la secci\u00f3n Registros de aplicaciones y servicios > Replicaci\u00f3n DFS del Visor de Eventos. El mensaje completo del evento dice:

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 [n\u00famero] days, which is longer than the time allowed.

Este evento se dispara cuando se cumple una de las siguientes condiciones:

  • Journal wrap detectado: El diario USN del volumen ha sido reciclado o ha dado la vuelta, lo que significa que DFSR ya no puede rastrear qu\u00e9 archivos cambiaron desde su \u00faltimo ciclo de replicaci\u00f3n.
  • Recuperaci\u00f3n de apagado inesperado: El servidor experiment\u00f3 un apagado inesperado (fallo de energ\u00eda, BSOD) y la base de datos de DFSR est\u00e1 en un estado inconsistente.
  • Desconexi\u00f3n prolongada: El controlador de dominio ha estado fuera de l\u00ednea o sin poder contactar a los socios de replicaci\u00f3n durante m\u00e1s tiempo del MaxOfflineTimeInDays configurado (predeterminado 60 d\u00edas).
  • Corrupci\u00f3n de base de datos: Los archivos de base de datos de DFSR en la carpeta System Volume Information se han corrompido.

Cuando se registra este evento, DFSR entra en estado detenido para la carpeta de replicaci\u00f3n afectada. No reanudar\u00e1 autom\u00e1ticamente la replicaci\u00f3n \u2014 debes intervenir manualmente.

Impacto en Tu Entorno

Las consecuencias de un Event ID 4012 sin resolver son significativas:

  • Inconsistencia en directivas de grupo: Los clientes que se autentican contra el DC afectado reciben GPOs desactualizados o faltantes
  • Fallos en scripts de inicio de sesi\u00f3n: Los scripts almacenados en SYSVOL\scripts pueden estar faltantes o desactualizados
  • Crecimiento del backlog de DFSR: Los DCs socios acumulan un backlog creciente de cambios pendientes de replicar
  • Problemas de autenticaci\u00f3n: En casos severos, las pol\u00edticas de Kerberos y la configuraci\u00f3n de inscripci\u00f3n autom\u00e1tica de certificados divergen

Diagnosticando el Problema

Comienza tu diagn\u00f3stico recopilando informaci\u00f3n de m\u00faltiples fuentes. Ejecuta estos comandos desde una sesi\u00f3n elevada de PowerShell en el controlador de dominio afectado.

Verificar el Estado de Replicaci\u00f3n DFSR

# Verificar el estado de replicaci\u00f3n en todos los DCs
Get-DfsReplicationGroup | Get-DfsReplicatedFolder | Get-DfsrState

# Verificar espec\u00edficamente la replicaci\u00f3n SYSVOL
Get-DfsReplicationGroup -GroupName "Domain System Volume" |
    Get-DfsReplicatedFolder |
    Get-DfsrState

La salida muestra el estado de replicaci\u00f3n de cada miembro. Busca entradas donde la columna State muestre Stopped o In Error.

Consultar el Registro de Eventos con PowerShell

# Obtener las \u00faltimas 10 entradas del Event ID 4012
Get-WinEvent -FilterHashtable @{
    LogName = 'DFS Replication'
    Id = 4012
} -MaxEvents 10 | Format-List TimeCreated, Message

# Verificar eventos relacionados (4010, 4012, 4014)
Get-WinEvent -FilterHashtable @{
    LogName = 'DFS Replication'
    Id = 4010, 4012, 4014
} -MaxEvents 20 | Format-Table TimeCreated, Id, Message -Wrap

Ejecutar Diagn\u00f3sticos DFSRDIAG

# Verificar el estado general de replicaci\u00f3n
dfsrdiag ReplicationState

# Verificar el backlog de replicaci\u00f3n entre dos DCs
dfsrdiag Backlog /rgname:"Domain System Volume" /rfname:"SYSVOL Share" /sendingmember:DC01 /receivingmember:DC02

# Forzar a DFSR a consultar Active Directory por cambios de configuraci\u00f3n
dfsrdiag PollAD

Verificar el Recurso Compartido SYSVOL y su Contenido

# Verificar si existen los recursos compartidos SYSVOL y NETLOGON
Get-SmbShare | Where-Object { $_.Name -match 'SYSVOL|NETLOGON' }

# Comparar el contenido de SYSVOL entre DCs
$dc1 = Get-ChildItem "\\DC01\SYSVOL\domain\Policies" -Recurse | Measure-Object
$dc2 = Get-ChildItem "\\DC02\SYSVOL\domain\Policies" -Recurse | Measure-Object
Write-Host "DC01 elementos: $($dc1.Count) | DC02 elementos: $($dc2.Count)"

Comparativa: Sincronizaci\u00f3n Autoritativa vs No Autoritativa

Antes de proceder con la soluci\u00f3n, necesitas decidir qu\u00e9 tipo de sincronizaci\u00f3n realizar. La elecci\u00f3n depende de qu\u00e9 controlador de dominio tiene los datos SYSVOL correctos.

AspectoSincronizaci\u00f3n AutoritativaSincronizaci\u00f3n No Autoritativa
Cu\u00e1ndo usarEl DC afectado tiene los datos SYSVOL correctosUn socio saludable tiene los datos correctos
Flujo de datosEl DC afectado env\u00eda sus datos a todos los sociosEl DC afectado obtiene datos de un socio
Valor de msDFSR-OptionsEstablecer en 1 en el DC autoritativoDejar como predeterminado (sin cambio)
Nivel de riesgoMayor \u2014 sobrescribe todas las r\u00e9plicas de sociosMenor \u2014 solo se reconstruye la copia local
Escenario t\u00edpicoEl PDC Emulator tiene las pol\u00edticas correctasUn DC secundario perdi\u00f3 SYSVOL tras un fallo
Cambios en atributos ADmsDFSR-Enabled + msDFSR-OptionsSolo msDFSR-Enabled
Tiempo de recuperaci\u00f3nM\u00e1s largo (todos los socios re-sincronizan desde este DC)M\u00e1s corto (solo el DC local re-sincroniza)
Usar en PDC EmulatorS\u00ed, este es el caso m\u00e1s com\u00fanRaramente \u2014 solo si los datos del PDC est\u00e1n corruptos

Regla general: Si solo uno o pocos DCs tienen el Event ID 4012, realiza una sincronizaci\u00f3n no autoritativa en esos DCs. Si SYSVOL est\u00e1 roto en m\u00faltiples DCs, realiza una sincronizaci\u00f3n autoritativa desde el DC con los mejores datos (generalmente el PDC Emulator).

Resoluci\u00f3n Paso a Paso

Sincronizaci\u00f3n No Autoritativa (M\u00e1s Com\u00fan)

\u00dasala cuando el DC afectado necesita re-descargar SYSVOL desde un socio saludable.

Paso 1: Abre ADSIEDIT.MSC en el controlador de dominio afectado o en una estaci\u00f3n de trabajo de administraci\u00f3n.

Paso 2: Navega al objeto de suscripci\u00f3n DFSR:

CN=SYSVOL Subscription,CN=Domain System Volume,
CN=DFSR-LocalSettings,CN=<NombreDC>,OU=Domain Controllers,DC=dominio,DC=com

Paso 3: Establece msDFSR-Enabled en FALSE.

Paso 4: Fuerza la replicaci\u00f3n de Active Directory en todos los controladores de dominio:

# Forzar replicaci\u00f3n desde todos los socios
repadmin /syncall /APed

Paso 5: Ejecuta DFSRDIAG POLLAD en el DC afectado:

dfsrdiag PollAD

Verifica que aparezca el Event ID 4114 en el registro de Replicaci\u00f3n DFS, confirmando que DFSR reconoci\u00f3 el cambio de configuraci\u00f3n.

Paso 6: Establece msDFSR-Enabled de vuelta en TRUE en ADSIEDIT.MSC en el mismo DN.

Paso 7: Fuerza la replicaci\u00f3n AD nuevamente y ejecuta DFSRDIAG POLLAD:

repadmin /syncall /APed
dfsrdiag PollAD

Paso 8: Verifica la recuperaci\u00f3n revisando los Event IDs:

  • 4614: “The DFS Replication service initialized SYSVOL” (sincronizaci\u00f3n inicial iniciada)
  • 4604: “The DFS Replication service successfully initialized SYSVOL” (sincronizaci\u00f3n completada)
Get-WinEvent -FilterHashtable @{
    LogName = 'DFS Replication'
    Id = 4604, 4614
} -MaxEvents 5 | Format-List TimeCreated, Message

Sincronizaci\u00f3n Autoritativa

\u00dasala cuando el DC afectado tiene los datos correctos y debe enviarlos a todos los socios.

Sigue los mismos pasos anteriores, pero en el Paso 6, antes de establecer msDFSR-Enabled de vuelta en TRUE, tambi\u00e9n establece msDFSR-Options en 1 en el objeto SYSVOL Subscription del DC autoritativo. Esta bandera le dice a DFSR que la copia de este servidor es autoritativa y todos los socios deben sincronizar desde \u00e9l.

Despu\u00e9s de que el DC autoritativo se recupere (Event 4602/4604), realiza una sincronizaci\u00f3n no autoritativa en todos los dem\u00e1s controladores de dominio para obtener los datos autoritativos.

Escenario del Mundo Real

Administras un entorno de Active Directory multi-sitio con cinco controladores de dominio: DC01 (PDC Emulator) en la oficina principal, DC02 y DC03 en oficinas remotas, DC04 en un sitio de recuperaci\u00f3n ante desastres y DC05 como controlador de dominio de solo lectura. Despu\u00e9s de una falla de almacenamiento en la oficina remota, DC02 fue reconstruido desde cero y reincorporado al dominio. Dos d\u00edas despu\u00e9s, el soporte t\u00e9cnico reporta que los usuarios de la oficina remota no est\u00e1n recibiendo las \u00faltimas configuraciones de directiva de grupo.

Inicias sesi\u00f3n en DC02 y encuentras el Event ID 4012 en el registro de Replicaci\u00f3n DFS. Al ejecutar Get-DfsrState confirmas que la replicaci\u00f3n SYSVOL est\u00e1 detenida en DC02. El recurso compartido SYSVOL existe pero contiene solo un conjunto parcial de GPOs.

Tu plan: realizar una sincronizaci\u00f3n no autoritativa en DC02. Abres ADSIEDIT.MSC, navegas a DFSR-LocalSettings de DC02, estableces msDFSR-Enabled en FALSE, fuerzas la replicaci\u00f3n AD con repadmin /syncall /APed y ejecutas dfsrdiag PollAD. El Event 4114 confirma que DFSR se detuvo. Estableces msDFSR-Enabled de vuelta en TRUE, fuerzas la replicaci\u00f3n nuevamente y ejecutas PollAD. En minutos, aparece el Event 4604 \u2014 SYSVOL ha sido reinicializado. Verificas comparando la cantidad de pol\u00edticas en el recurso compartido SYSVOL de DC02 contra DC01, y los n\u00fameros coinciden. Las directivas de grupo fluyen correctamente otra vez.

Errores Comunes y Casos Especiales

Journal wrap en vol\u00famenes grandes: Si el diario USN ha dado la vuelta, puedes ver el Event ID 4012 junto con el Event ID 4010. Simplemente restablecer msDFSR-Enabled puede no ser suficiente \u2014 podr\u00edas necesitar eliminar la base de datos de DFSR. Detiene el servicio DFSR, elimina los archivos en C:\System Volume Information\DFSR\ en el volumen afectado, luego reinicia DFSR antes de realizar la sincronizaci\u00f3n no autoritativa.

Apagado inesperado y corrupci\u00f3n de base de datos: Despu\u00e9s de un BSOD o p\u00e9rdida inesperada de energ\u00eda, la base de datos de DFSR puede quedar marcada como sucia. El Event ID 2213 frecuentemente acompa\u00f1a al 4012 en este caso. El procedimiento de recuperaci\u00f3n es el mismo que para journal wrap \u2014 detiene DFSR, limpia la base de datos y realiza una sincronizaci\u00f3n no autoritativa.

MaxOfflineTimeInDays excedido: Si un DC ha estado fuera de l\u00ednea por m\u00e1s de 60 d\u00edas (el predeterminado), DFSR se niega a replicar incluso despu\u00e9s de reconectarse. Puedes aumentar temporalmente este valor usando PowerShell antes de realizar la sincronizaci\u00f3n:

# Aumentar temporalmente el tiempo m\u00e1ximo fuera de l\u00ednea a 120 d\u00edas
Set-DfsReplicationGroup -GroupName "Domain System Volume" -Description "Aumento temporal" |
    Set-DfsrMembership -MaxOfflineTimeInDays 120

Controladores de Dominio de Solo Lectura (RODCs): Los RODCs replican SYSVOL en una direcci\u00f3n \u00fanica. Si un RODC muestra el Event 4012, la soluci\u00f3n siempre es no autoritativa. Nunca intentes una sincronizaci\u00f3n autoritativa desde un RODC.

M\u00faltiples DCs afectados simult\u00e1neamente: Si m\u00e1s de la mitad de tus DCs han dejado de replicar SYSVOL, comienza con el PDC Emulator. Realiza una sincronizaci\u00f3n autoritativa en el PDC primero, luego sistem\u00e1ticamente realiza sincronizaciones no autoritativas en los DCs restantes uno a la vez, esperando el Event 4604 en cada uno antes de proceder al siguiente.

Windows Server 2012 R2 vs 2016+: En Server 2016 y posteriores, DFSR puede recuperarse autom\u00e1ticamente de algunos escenarios de journal wrap. Sin embargo, el Event ID 4012 todav\u00eda requiere intervenci\u00f3n manual independientemente de la versi\u00f3n del sistema operativo.

Soluci\u00f3n de Problemas

El Event 4012 sigue reapareciendo despu\u00e9s de la soluci\u00f3n: Esto generalmente indica un problema subyacente de disco o volumen. Revisa el registro de Sistema buscando errores de disco (Event IDs 7, 11, 51, 153). Ejecuta chkdsk /f en el volumen que aloja SYSVOL. Si el volumen est\u00e1 en un disco virtual, verifica la salud del almacenamiento virtual.

DFSRDIAG POLLAD se cuelga o devuelve un error: Aseg\u00farate de que el servicio DFSR est\u00e9 en ejecuci\u00f3n (Get-Service DFSR). Si est\u00e1 detenido, in\u00edcialo antes de ejecutar PollAD. Si el servicio no puede iniciar, verifica si hay bloqueos de base de datos de DFSR en System Volume Information\DFSR\.

El Event 4614 aparece pero el 4604 nunca llega: La sincronizaci\u00f3n inicial ha comenzado pero no se completa. Verifica la conectividad de red entre el DC afectado y sus socios de replicaci\u00f3n. Confirma que el puerto TCP 5722 (DFSR) y los puertos ef\u00edmeros de RPC est\u00e9n abiertos en el firewall.

El recurso compartido SYSVOL desaparece despu\u00e9s de la soluci\u00f3n: Los recursos compartidos NETLOGON y SYSVOL pueden no reaparecer hasta que DFSR termine la sincronizaci\u00f3n inicial y establezca la bandera de SYSVOL listo. Espera el Event 4604 y luego ejecuta net share para verificar. Si los recursos compartidos a\u00fan no aparecen, reinicia el servicio Netlogon:

Restart-Service Netlogon

El backlog de replicaci\u00f3n permanece alto: Despu\u00e9s de la recuperaci\u00f3n, verifica el backlog entre el DC corregido y sus socios:

dfsrdiag Backlog /rgname:"Domain System Volume" /rfname:"SYSVOL Share" /sendingmember:DC01 /receivingmember:DC02

Si el backlog no disminuye, verifica que el servicio DFSR est\u00e9 en ejecuci\u00f3n en ambos lados y que la replicaci\u00f3n AD est\u00e9 saludable usando repadmin /replsummary.

Resumen

  • El Event ID 4012 significa que DFSR ha dejado de replicar una carpeta (generalmente SYSVOL) y no se reanudar\u00e1 sin intervenci\u00f3n manual
  • Las causas comunes incluyen journal wrap, apagado inesperado, corrupci\u00f3n de base de datos y tiempo fuera de l\u00ednea prolongado que excede MaxOfflineTimeInDays
  • Usa Get-DfsrState, dfsrdiag y el Visor de Eventos para diagnosticar el alcance y la causa ra\u00edz
  • Elige sincronizaci\u00f3n no autoritativa cuando el DC afectado debe obtener SYSVOL de un socio saludable (la soluci\u00f3n m\u00e1s com\u00fan)
  • Elige sincronizaci\u00f3n autoritativa cuando el DC afectado tiene los datos SYSVOL correctos y debe enviarlos a todos los socios
  • La soluci\u00f3n implica alternar msDFSR-Enabled en ADSIEDIT.MSC, forzar la replicaci\u00f3n AD y ejecutar DFSRDIAG POLLAD
  • Verifica la recuperaci\u00f3n revisando el Event ID 4604 en el registro de Replicaci\u00f3n DFS
  • Para problemas persistentes, investiga la salud del disco, la conectividad de red en el puerto TCP 5722 y la integridad de la base de datos de DFSR

Art\u00edculos Relacionados