Pastas NETLOGON e SYSVOL sem compartilhamento ou GPO que não replica entre controladores de domínio? Veja como diagnosticar e corrigir o DFSR.
A pasta SYSVOL guarda as políticas de grupo (GPO) e os scripts de logon do domínio, e a NETLOGON é um compartilhamento dentro dela. Cada controlador de domínio (DC) mantém uma cópia, sincronizada pelo serviço DFS Replication (DFSR). Quando a replicação quebra, os sintomas típicos são: um DC novo sem os compartilhamentos SYSVOL e NETLOGON, GPO que muda num DC e não chega nos outros, e scripts de logon que somem.
Antes de começar
- Conta de administrador do domínio e acesso a todos os DCs.
- Backup recente do estado do sistema dos DCs e uma cópia da pasta
C:\Windows\SYSVOL\domaindo DC mais confiável. - Saiba qual DC é o emulador PDC, normalmente o que tem a cópia mais atual do SYSVOL:
netdom query fsmo. - Se o comando
dfsrdiagnão existir no servidor, instale as ferramentas:Install-WindowsFeature RSAT-DFS-Mgmt-Con.
Como diagnosticar a replicação do SYSVOL
- Veja se os compartilhamentos existem. Em cada DC, rode
net share. Devem aparecerSYSVOLeNETLOGON. - Confirme que o domínio já usa DFSR. Rode
dfsrmig /getmigrationstate. O esperado é o estado Eliminated em todos os DCs. Domínios que ainda usam o antigo FRS não aceitam DCs com Windows Server 2019 ou mais novo: nesse caso, a correção é concluir a migração FRS para DFSR. - Teste a replicação do próprio Active Directory. O DFSR depende dela:
Se orepadmin /replsummary repadmin /showrepl dcdiag /e /q /test:sysvolcheck /test:advertising /test:dfsreventrepadminmostra erros (DNS, tempo, credenciais), corrija isso primeiro. Sem replicação do AD, nada do que vem abaixo funciona. - Leia o log da replicação DFS. No Visualizador de Eventos, abra Logs de Aplicativos e Serviços › Replicação DFS. Ou pelo PowerShell:
Get-WinEvent -LogName 'DFS Replication' -MaxEvents 30 | Format-Table TimeCreated, Id, Message -Wrap
O que cada evento indica
| Evento | Significado | Correção |
|---|---|---|
| 2213 | O DFSR parou após um desligamento inesperado (queda de energia, reset) | Retomar a replicação (abaixo) |
| 4012 | O DC ficou desconectado por mais tempo que o limite (60 dias por padrão) e parou de replicar | Sincronização não autoritativa nesse DC |
| 4614 sem um 4604 depois | O DC está esperando a sincronização inicial, que não acontece | Corrigir o parceiro de replicação e, se preciso, sincronização não autoritativa |
| 5002 ou 5008 | Falha de comunicação com o parceiro | Rede, DNS ou firewall entre os DCs |
Evento 2213: como retomar a replicação após desligamento inesperado
O próprio texto do evento 2213 traz o comando pronto, com o GUID do volume. Copie de lá. O formato é:
wmic /namespace:\\root\microsoftdfs path dfsrVolumeConfig where volumeGuid="GUID-DO-EVENTO" call ResumeReplication
Nas versões em que o wmic não está disponível, o equivalente em PowerShell é:
Get-CimInstance -Namespace root\microsoftdfs -ClassName DfsrVolumeConfig |
Where-Object VolumeGuid -eq 'GUID-DO-EVENTO' |
Invoke-CimMethod -MethodName ResumeReplication
Em seguida devem aparecer os eventos 2212 e 2214, indicando a recuperação. A Microsoft recomenda copiar os arquivos replicados antes de retomar, por segurança.
Sincronização não autoritativa: consertar um DC
Use quando um DC está com o SYSVOL errado, vazio ou parado e os outros estão bons. Ele descarta a cópia local e baixa tudo de um parceiro saudável. É o caso mais comum, inclusive no DC recém-promovido que nunca compartilhou o SYSVOL.
- Abra o ADSI Edit (
adsiedit.msc) e conecte no Contexto de nomenclatura padrão. - Desative o SYSVOL no DC com problema. Navegue até o objeto abaixo (trocando o nome do DC e do domínio) e mude o atributo
msDFSR-EnabledparaFALSE:CN=SYSVOL Subscription,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=DC02,OU=Domain Controllers,DC=empresa,DC=local - Force a replicação do AD e avise o DFSR, no DC com problema:
Aguarde o evento 4114 (SYSVOL deixou de ser replicado).repadmin /syncall /AdeP dfsrdiag pollad - Reative. No mesmo objeto, volte
msDFSR-EnabledparaTRUE, rode de novorepadmin /syncall /AdePedfsrdiag pollad. - Confirme. Devem aparecer os eventos 4614 e depois 4604: o SYSVOL foi sincronizado. Rode
net sharee confira SYSVOL e NETLOGON.
Se preferir o PowerShell em vez do ADSI Edit, o mesmo atributo pode ser alterado com o módulo do Active Directory:
$dn = 'CN=SYSVOL Subscription,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=DC02,OU=Domain Controllers,DC=empresa,DC=local'
Set-ADObject -Identity $dn -Replace @{'msDFSR-Enabled'=$false}
Sincronização autoritativa: quando todos os DCs estão inconsistentes
Use só quando nenhum DC tem uma cópia confiável sozinho, por exemplo depois que scripts de logon foram apagados e você restaurou a pasta manualmente num DC. Esse DC vira a referência e todos os outros recebem cópia dele. Resumo do procedimento oficial:
- Pare o DFSR em todos os DCs e deixe o serviço em inicialização Manual.
- No DC que será a referência (de preferência o emulador PDC), no objeto
SYSVOL Subscription, definamsDFSR-Enabled=FALSEemsDFSR-options=1. - Em todos os outros DCs, defina apenas
msDFSR-Enabled=FALSE. - Force a replicação do AD e confira o sucesso em todos os DCs.
- Inicie o DFSR no DC de referência (evento 4114), volte
msDFSR-Enabled=TRUEnele, force a replicação do AD e rodedfsrdiag pollad. Aguarde o evento 4602. - Inicie o DFSR nos demais DCs (evento 4114 em cada um), defina
msDFSR-Enabled=TRUEem todos, rodedfsrdiag polladem cada um e volte o serviço para inicialização Automática.
Problemas comuns
Devo criar o valor SysvolReady no registro?
Muitos tutoriais mandam ajustar SysvolReady=1 em HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters para o compartilhamento aparecer. Isso só força o compartilhamento: se o SYSVOL ainda não sincronizou, o DC passa a entregar políticas incompletas aos computadores. O DFSR ajusta esse valor sozinho quando a sincronização termina (evento 4604). Corrija a replicação primeiro.
Como testar se a replicação voltou
Crie um arquivo de texto em \\empresa.local\SYSVOL\empresa.local\scripts a partir de um DC e veja se ele aparece na mesma pasta dos outros DCs em alguns minutos. Para ver a fila pendente entre dois DCs:
dfsrdiag backlog /rgname:"Domain System Volume" /rfname:"SYSVOL Share" /smem:DC01 /rmem:DC02
NETLOGON continua sem aparecer depois da sincronização
Reinicie o serviço Netlogon no DC: Restart-Service Netlogon. Depois confira de novo com net share.