Quando voc\u00ea abre o Visualizador de Eventos em um controlador de dom\u00ednio Windows Server e encontra o Event ID 4012 no log de Replica\u00e7\u00e3o DFS, isso significa que o servi\u00e7o de Replica\u00e7\u00e3o DFS parou de replicar uma pasta \u2014 mais comumente SYSVOL. Este \u00e9 um problema cr\u00edtico porque o SYSVOL cont\u00e9m os objetos de pol\u00edtica de grupo, scripts de logon e outros recursos de todo o dom\u00ednio. Um controlador de dom\u00ednio que para de replicar SYSVOL fornece pol\u00edticas de grupo desatualizadas ou ausentes aos clientes, gerando configura\u00e7\u00f5es de seguran\u00e7a inconsistentes e scripts de logon quebrados em todo o seu ambiente. Neste guia, voc\u00ea aprender\u00e1 como diagnosticar o Event ID 4012, compreender suas causas raiz e resolv\u00ea-lo usando ferramentas gr\u00e1ficas e comandos PowerShell.

Pr\u00e9-requisitos

Antes de come\u00e7ar a solu\u00e7\u00e3o de problemas, certifique-se de ter:

  • Privil\u00e9gios de Administrador de Dom\u00ednio ou equivalentes no controlador de dom\u00ednio afetado
  • Acesso por \u00c1rea de Trabalho Remota ou console ao servidor afetado
  • Ferramentas RSAT instaladas, incluindo os snap-ins de Active Directory e Gerenciamento DFS
  • PowerShell 5.1 ou posterior com o m\u00f3dulo DFSR dispon\u00edvel
  • ADSIEDIT.MSC acess\u00edvel para modificar atributos do AD
  • Um segundo controlador de dom\u00ednio com replica\u00e7\u00e3o SYSVOL saud\u00e1vel como parceiro de refer\u00eancia
  • Um backup do System State recente de pelo menos um controlador de dom\u00ednio (como rede de seguran\u00e7a)

Compreendendo o DFSR Event ID 4012

O Event ID 4012 aparece na se\u00e7\u00e3o Logs de Aplicativos e Servi\u00e7os > Replica\u00e7\u00e3o DFS do Visualizador de Eventos. A mensagem completa do evento diz:

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 \u00e9 disparado quando uma das seguintes condi\u00e7\u00f5es \u00e9 atendida:

  • Journal wrap detectado: O journal USN no volume foi reciclado ou deu a volta, significando que o DFSR n\u00e3o consegue mais rastrear quais arquivos mudaram desde seu \u00faltimo ciclo de replica\u00e7\u00e3o.
  • Recupera\u00e7\u00e3o de desligamento inesperado: O servidor sofreu um desligamento inesperado (falha de energia, BSOD) e o banco de dados do DFSR est\u00e1 em estado inconsistente.
  • Desconex\u00e3o prolongada: O controlador de dom\u00ednio esteve offline ou sem conseguir contatar parceiros de replica\u00e7\u00e3o por mais tempo que o MaxOfflineTimeInDays configurado (padr\u00e3o 60 dias).
  • Corrup\u00e7\u00e3o do banco de dados: Os arquivos de banco de dados do DFSR na pasta System Volume Information ficaram corrompidos.

Quando este evento \u00e9 registrado, o DFSR entra em estado parado para a pasta de replica\u00e7\u00e3o afetada. Ele n\u00e3o retomar\u00e1 automaticamente a replica\u00e7\u00e3o \u2014 voc\u00ea deve intervir manualmente.

Impacto no Seu Ambiente

As consequ\u00eancias de um Event ID 4012 n\u00e3o resolvido s\u00e3o significativas:

  • Inconsist\u00eancia nas pol\u00edticas de grupo: Clientes que se autenticam no DC afetado recebem GPOs desatualizados ou ausentes
  • Falhas em scripts de logon: Scripts armazenados em SYSVOL\scripts podem estar ausentes ou desatualizados
  • Crescimento do backlog do DFSR: DCs parceiros acumulam um backlog crescente de altera\u00e7\u00f5es pendentes
  • Problemas de autentica\u00e7\u00e3o: Em casos severos, as pol\u00edticas Kerberos e configura\u00e7\u00f5es de inscri\u00e7\u00e3o autom\u00e1tica de certificados divergem

Diagnosticando o Problema

Comece seu diagn\u00f3stico coletando informa\u00e7\u00f5es de m\u00faltiplas fontes. Execute estes comandos a partir de uma sess\u00e3o elevada do PowerShell no controlador de dom\u00ednio afetado.

Verificar o Estado de Replica\u00e7\u00e3o DFSR

# Verificar o estado de replica\u00e7\u00e3o em todos os DCs
Get-DfsReplicationGroup | Get-DfsReplicatedFolder | Get-DfsrState

# Verificar especificamente a replica\u00e7\u00e3o SYSVOL
Get-DfsReplicationGroup -GroupName "Domain System Volume" |
    Get-DfsReplicatedFolder |
    Get-DfsrState

A sa\u00edda mostra o estado de replica\u00e7\u00e3o de cada membro. Procure entradas onde a coluna State mostra Stopped ou In Error.

Consultar o Log de Eventos com PowerShell

# Obter as \u00faltimas 10 entradas do 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

Executar Diagn\u00f3sticos DFSRDIAG

# Verificar o estado geral de replica\u00e7\u00e3o
dfsrdiag ReplicationState

# Verificar o backlog de replica\u00e7\u00e3o entre dois DCs
dfsrdiag Backlog /rgname:"Domain System Volume" /rfname:"SYSVOL Share" /sendingmember:DC01 /receivingmember:DC02

# For\u00e7ar o DFSR a consultar o Active Directory por mudan\u00e7as de configura\u00e7\u00e3o
dfsrdiag PollAD

Verificar o Compartilhamento SYSVOL e Seu Conte\u00fado

# Verificar se os compartilhamentos SYSVOL e NETLOGON existem
Get-SmbShare | Where-Object { $_.Name -match 'SYSVOL|NETLOGON' }

# Comparar o conte\u00fado do 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 itens: $($dc1.Count) | DC02 itens: $($dc2.Count)"

Compara\u00e7\u00e3o: Sincroniza\u00e7\u00e3o Autoritativa vs N\u00e3o Autoritativa

Antes de prosseguir com a corre\u00e7\u00e3o, voc\u00ea precisa decidir qual tipo de sincroniza\u00e7\u00e3o realizar. A escolha depende de qual controlador de dom\u00ednio tem os dados SYSVOL corretos.

AspectoSincroniza\u00e7\u00e3o AutoritativaSincroniza\u00e7\u00e3o N\u00e3o Autoritativa
Quando usarO DC afetado tem os dados SYSVOL corretosUm parceiro saud\u00e1vel tem os dados corretos
Fluxo de dadosO DC afetado envia seus dados para todos os parceirosO DC afetado obt\u00e9m dados de um parceiro
Valor de msDFSR-OptionsDefinir como 1 no DC autoritativoDeixar como padr\u00e3o (sem altera\u00e7\u00e3o)
N\u00edvel de riscoMaior \u2014 sobrescreve todas as r\u00e9plicas dos parceirosMenor \u2014 apenas a c\u00f3pia local \u00e9 reconstru\u00edda
Cen\u00e1rio t\u00edpicoO PDC Emulator tem as pol\u00edticas corretasUm DC secund\u00e1rio perdeu SYSVOL ap\u00f3s falha
Altera\u00e7\u00f5es em atributos ADmsDFSR-Enabled + msDFSR-OptionsApenas msDFSR-Enabled
Tempo de recupera\u00e7\u00e3oMais longo (todos os parceiros re-sincronizam deste DC)Mais curto (apenas o DC local re-sincroniza)
Usar no PDC EmulatorSim, este \u00e9 o caso mais comumRaramente \u2014 apenas se os dados do PDC estiverem corrompidos

Regra geral: Se apenas um ou poucos DCs t\u00eam o Event ID 4012, realize uma sincroniza\u00e7\u00e3o n\u00e3o autoritativa nesses DCs. Se o SYSVOL est\u00e1 quebrado em m\u00faltiplos DCs, realize uma sincroniza\u00e7\u00e3o autoritativa a partir do DC com os melhores dados (geralmente o PDC Emulator).

Resolu\u00e7\u00e3o Passo a Passo

Sincroniza\u00e7\u00e3o N\u00e3o Autoritativa (Mais Comum)

Use quando o DC afetado precisa re-baixar o SYSVOL de um parceiro saud\u00e1vel.

Passo 1: Abra o ADSIEDIT.MSC no controlador de dom\u00ednio afetado ou em uma esta\u00e7\u00e3o de trabalho de gerenciamento.

Passo 2: Navegue at\u00e9 o objeto de assinatura DFSR:

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

Passo 3: Defina msDFSR-Enabled como FALSE.

Passo 4: Force a replica\u00e7\u00e3o do Active Directory em todos os controladores de dom\u00ednio:

# For\u00e7ar replica\u00e7\u00e3o de todos os parceiros
repadmin /syncall /APed

Passo 5: Execute DFSRDIAG POLLAD no DC afetado:

dfsrdiag PollAD

Verifique se o Event ID 4114 aparece no log de Replica\u00e7\u00e3o DFS, confirmando que o DFSR reconheceu a mudan\u00e7a de configura\u00e7\u00e3o.

Passo 6: Defina msDFSR-Enabled de volta para TRUE no ADSIEDIT.MSC no mesmo DN.

Passo 7: Force a replica\u00e7\u00e3o AD novamente e execute DFSRDIAG POLLAD:

repadmin /syncall /APed
dfsrdiag PollAD

Passo 8: Verifique a recupera\u00e7\u00e3o checando os Event IDs:

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

Sincroniza\u00e7\u00e3o Autoritativa

Use quando o DC afetado tem os dados corretos e deve envi\u00e1-los para todos os parceiros.

Siga os mesmos passos acima, mas no Passo 6, antes de definir msDFSR-Enabled de volta para TRUE, tamb\u00e9m defina msDFSR-Options como 1 no objeto SYSVOL Subscription do DC autoritativo. Esta flag informa ao DFSR que a c\u00f3pia deste servidor \u00e9 autoritativa e todos os parceiros devem sincronizar a partir dele.

Ap\u00f3s o DC autoritativo se recuperar (Event 4602/4604), realize uma sincroniza\u00e7\u00e3o n\u00e3o autoritativa em todos os outros controladores de dom\u00ednio para obter os dados autoritativos.

Cen\u00e1rio Real

Voc\u00ea gerencia um ambiente Active Directory multi-site com cinco controladores de dom\u00ednio: DC01 (PDC Emulator) no escrit\u00f3rio principal, DC02 e DC03 em filiais, DC04 em um site de recupera\u00e7\u00e3o de desastres e DC05 como controlador de dom\u00ednio somente leitura. Ap\u00f3s uma falha de armazenamento na filial, o DC02 foi reconstru\u00eddo do zero e reintegrado ao dom\u00ednio. Dois dias depois, o suporte t\u00e9cnico relata que os usu\u00e1rios da filial n\u00e3o est\u00e3o recebendo as \u00faltimas configura\u00e7\u00f5es de pol\u00edtica de grupo.

Voc\u00ea faz logon no DC02 e encontra o Event ID 4012 no log de Replica\u00e7\u00e3o DFS. Ao executar Get-DfsrState voc\u00ea confirma que a replica\u00e7\u00e3o SYSVOL est\u00e1 parada no DC02. O compartilhamento SYSVOL existe mas cont\u00e9m apenas um conjunto parcial de GPOs.

Seu plano: realizar uma sincroniza\u00e7\u00e3o n\u00e3o autoritativa no DC02. Voc\u00ea abre o ADSIEDIT.MSC, navega at\u00e9 DFSR-LocalSettings do DC02, define msDFSR-Enabled como FALSE, for\u00e7a a replica\u00e7\u00e3o AD com repadmin /syncall /APed e executa dfsrdiag PollAD. O Event 4114 confirma que o DFSR parou. Voc\u00ea define msDFSR-Enabled de volta para TRUE, for\u00e7a a replica\u00e7\u00e3o novamente e executa PollAD. Em minutos, o Event 4604 aparece \u2014 o SYSVOL foi reinicializado. Voc\u00ea verifica comparando a contagem de pol\u00edticas no compartilhamento SYSVOL do DC02 com o DC01, e os n\u00fameros coincidem. As pol\u00edticas de grupo est\u00e3o fluindo corretamente novamente.

Armadilhas e Casos Especiais

Journal wrap em volumes grandes: Se o journal USN deu a volta, voc\u00ea pode ver o Event ID 4012 junto com o Event ID 4010. Simplesmente redefinir msDFSR-Enabled pode n\u00e3o ser suficiente \u2014 voc\u00ea pode precisar excluir o banco de dados do DFSR. Pare o servi\u00e7o DFSR, exclua os arquivos em C:\System Volume Information\DFSR\ no volume afetado, depois reinicie o DFSR antes de realizar a sincroniza\u00e7\u00e3o n\u00e3o autoritativa.

Desligamento inesperado e corrup\u00e7\u00e3o do banco de dados: Ap\u00f3s um BSOD ou perda inesperada de energia, o banco de dados do DFSR pode ficar marcado como sujo. O Event ID 2213 frequentemente acompanha o 4012 neste caso. O procedimento de recupera\u00e7\u00e3o \u00e9 o mesmo do journal wrap \u2014 pare o DFSR, limpe o banco de dados e realize uma sincroniza\u00e7\u00e3o n\u00e3o autoritativa.

MaxOfflineTimeInDays excedido: Se um DC esteve offline por mais de 60 dias (o padr\u00e3o), o DFSR recusa replicar mesmo ap\u00f3s reconectar. Voc\u00ea pode aumentar temporariamente este valor usando PowerShell antes de realizar a sincroniza\u00e7\u00e3o:

# Aumentar temporariamente o tempo m\u00e1ximo offline para 120 dias
Set-DfsReplicationGroup -GroupName "Domain System Volume" -Description "Aumento temporario" |
    Set-DfsrMembership -MaxOfflineTimeInDays 120

Controladores de Dom\u00ednio Somente Leitura (RODCs): RODCs replicam SYSVOL em uma \u00fanica dire\u00e7\u00e3o. Se um RODC mostra o Event 4012, a corre\u00e7\u00e3o \u00e9 sempre n\u00e3o autoritativa. Nunca tente uma sincroniza\u00e7\u00e3o autoritativa a partir de um RODC.

M\u00faltiplos DCs afetados simultaneamente: Se mais da metade dos seus DCs pararam de replicar SYSVOL, comece pelo PDC Emulator. Realize uma sincroniza\u00e7\u00e3o autoritativa no PDC primeiro, depois sistematicamente realize sincroniza\u00e7\u00f5es n\u00e3o autoritativas nos DCs restantes um de cada vez, aguardando o Event 4604 em cada um antes de prosseguir para o pr\u00f3ximo.

Windows Server 2012 R2 vs 2016+: No Server 2016 e posteriores, o DFSR pode se recuperar automaticamente de alguns cen\u00e1rios de journal wrap. No entanto, o Event ID 4012 ainda requer interven\u00e7\u00e3o manual independentemente da vers\u00e3o do sistema operacional.

Solu\u00e7\u00e3o de Problemas

O Event 4012 continua reaparecendo ap\u00f3s a corre\u00e7\u00e3o: Isso geralmente indica um problema subjacente de disco ou volume. Verifique o log do Sistema procurando erros de disco (Event IDs 7, 11, 51, 153). Execute chkdsk /f no volume que hospeda o SYSVOL. Se o volume est\u00e1 em um disco virtual, verifique a sa\u00fade do armazenamento virtual.

DFSRDIAG POLLAD trava ou retorna erro: Certifique-se de que o servi\u00e7o DFSR est\u00e1 em execu\u00e7\u00e3o (Get-Service DFSR). Se estiver parado, inicie-o antes de executar PollAD. Se o servi\u00e7o n\u00e3o iniciar, verifique se h\u00e1 bloqueios de banco de dados do DFSR em System Volume Information\DFSR\.

O Event 4614 aparece mas o 4604 nunca chega: A sincroniza\u00e7\u00e3o inicial come\u00e7ou mas n\u00e3o est\u00e1 completando. Verifique a conectividade de rede entre o DC afetado e seus parceiros de replica\u00e7\u00e3o. Confirme que a porta TCP 5722 (DFSR) e as portas ef\u00eameras RPC est\u00e3o abertas no firewall.

O compartilhamento SYSVOL desaparece ap\u00f3s a corre\u00e7\u00e3o: Os compartilhamentos NETLOGON e SYSVOL podem n\u00e3o reaparecer at\u00e9 que o DFSR termine a sincroniza\u00e7\u00e3o inicial e defina a flag de SYSVOL pronto. Aguarde o Event 4604 e ent\u00e3o execute net share para verificar. Se os compartilhamentos ainda n\u00e3o aparecerem, reinicie o servi\u00e7o Netlogon:

Restart-Service Netlogon

O backlog de replica\u00e7\u00e3o permanece alto: Ap\u00f3s a recupera\u00e7\u00e3o, verifique o backlog entre o DC corrigido e seus parceiros:

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

Se o backlog n\u00e3o diminuir, verifique se o servi\u00e7o DFSR est\u00e1 em execu\u00e7\u00e3o em ambos os lados e se a replica\u00e7\u00e3o AD est\u00e1 saud\u00e1vel usando repadmin /replsummary.

Resumo

  • O Event ID 4012 significa que o DFSR parou de replicar uma pasta (geralmente SYSVOL) e n\u00e3o retomar\u00e1 sem interven\u00e7\u00e3o manual
  • Causas comuns incluem journal wrap, desligamento inesperado, corrup\u00e7\u00e3o de banco de dados e tempo offline prolongado excedendo MaxOfflineTimeInDays
  • Use Get-DfsrState, dfsrdiag e o Visualizador de Eventos para diagnosticar o escopo e a causa raiz
  • Escolha sincroniza\u00e7\u00e3o n\u00e3o autoritativa quando o DC afetado deve obter SYSVOL de um parceiro saud\u00e1vel (corre\u00e7\u00e3o mais comum)
  • Escolha sincroniza\u00e7\u00e3o autoritativa quando o DC afetado tem os dados SYSVOL corretos e deve envi\u00e1-los para todos os parceiros
  • A corre\u00e7\u00e3o envolve alternar msDFSR-Enabled no ADSIEDIT.MSC, for\u00e7ar a replica\u00e7\u00e3o AD e executar DFSRDIAG POLLAD
  • Verifique a recupera\u00e7\u00e3o checando o Event ID 4604 no log de Replica\u00e7\u00e3o DFS
  • Para problemas persistentes, investigue a sa\u00fade do disco, conectividade de rede na porta TCP 5722 e integridade do banco de dados do DFSR

Artigos Relacionados