A sincronizacao precisa de horario e essencial em ambientes Windows, particularmente em dominios Active Directory onde a autenticacao Kerberos exige que os relogios estejam dentro de 5 minutos entre si. Se o horario desviar demais, os usuarios nao conseguem fazer login, os servicos falham ao autenticar e a replicacao pode quebrar. Este guia abrange como o Windows Time Services (W32Time) funciona, como configura-lo corretamente em um ambiente AD e como solucionar problemas de sincronizacao de horario.
Como funciona a sincronizacao de horario do Windows
A hierarquia NTP no Active Directory
O Active Directory usa um modelo hierarquico de sincronizacao de horario:
External NTP Source (e.g., time.nist.gov, pool.ntp.org)
└── PDC Emulator (Forest Root Domain)
└── Domain Controllers
└── Domain Member Computers
- Computadores membros do dominio sincronizam seus relogios com o controlador de dominio no qual se autenticaram
- Controladores de dominio sincronizam com o PDC Emulator de seu dominio
- O PDC Emulator no dominio raiz da floresta deve sincronizar com uma fonte NTP externa confiavel
Se o PDC Emulator nao tiver uma fonte de horario externa configurada, ele depende de seu proprio relogio de hardware, que pode desviar significativamente ao longo do tempo — especialmente em maquinas virtuais.
Por que o horario importa
- Autenticacao Kerberos tem uma tolerancia maxima padrao de 5 minutos. Relogios fora desta janela causam falhas de autenticacao.
- Replicacao do AD usa carimbos de data/hora para resolver conflitos. Horario incorreto pode causar problemas de replicacao.
- Correlacao de logs entre servidores requer horario sincronizado para analise precisa de eventos.
- Validacao de certificados depende de horario preciso para verificacoes de expiracao.
- Tarefas agendadas e backups executam no horario errado se os relogios estiverem incorretos.
Configurando o PDC Emulator para NTP externo
A configuracao mais critica e o PDC Emulator. Esta e a fonte de horario autoritativa para todo o dominio (ou floresta).
Identificar o PDC Emulator
# Find the PDC Emulator
Get-ADDomain | Select-Object PDCEmulator
# Or use netdom
netdom query fsmo
Configurar fonte NTP externa
Execute estes comandos no PDC Emulator:
# Configure the NTP peers
w32tm /config /manualpeerlist:"0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org" /syncfromflags:manual /reliable:YES /update
# Restart the Windows Time service
net stop w32time
net start w32time
# Force an immediate sync
w32tm /resync /rediscover
Parametros explicados:
/manualpeerlist— Lista de servidores NTP separados por espaco/syncfromflags:manual— Sincronizar a partir da lista de pares manual (nao da hierarquia do dominio)/reliable:YES— Anunciar este servidor como uma fonte de horario confiavel/update— Aplicar as alteracoes de configuracao
Fontes NTP recomendadas
| Fonte | Endereco | Notas |
|---|---|---|
| NTP Pool Project | 0.pool.ntp.org ate 3.pool.ntp.org | Pool distribuido, escolha mais comum |
| NIST | time.nist.gov | Servidor de horario do governo dos EUA |
time.google.com | Usa abordagem de “leap smearing” | |
| Microsoft | time.windows.com | Padrao para Windows fora de dominio |
Para redundancia, especifique varios servidores na lista de pares.
Configurando controladores de dominio
Controladores de dominio que nao sejam o PDC Emulator devem sincronizar a partir da hierarquia do dominio (comportamento padrao):
# Reset a DC to sync from the domain hierarchy
w32tm /config /syncfromflags:domhier /update
# Restart the service
net stop w32time
net start w32time
Esta e a configuracao padrao. Voce so precisa executar isso se um DC foi previamente configurado com pares manuais.
Configurando computadores membros do dominio
Membros do dominio sincronizam automaticamente com seu DC de autenticacao. Nenhuma configuracao e normalmente necessaria. Se precisar substituir:
# Force resync on a client
w32tm /resync
# Check the current time source
w32tm /query /source
Referencia de comandos W32tm
Verificar o status da sincronizacao
# Show current time source and status
w32tm /query /status
# Verbose status output
w32tm /query /status /verbose
# Show configured peers
w32tm /query /peers
# Show the current configuration
w32tm /query /configuration
Monitorar o horario em todo o dominio
# Monitor all DCs in the domain
w32tm /monitor
# Monitor specific computers
w32tm /monitor /computers:DC01,DC02,DC03
# Stripchart (real-time offset display)
w32tm /stripchart /computer:time.nist.gov /samples:5 /dataonly
A saida do /monitor mostra o desvio (em segundos) entre cada DC e o PDC Emulator. Qualquer valor acima de 1-2 segundos merece investigacao.
Forcar ressincronizacao
# Force resync
w32tm /resync
# Force resync and rediscover peers
w32tm /resync /rediscover
# Force resync on a remote computer
w32tm /resync /computer:WORKSTATION01
Registrar e desregistrar o servico
# Re-register the W32Time service (fixes corrupted configurations)
w32tm /unregister
w32tm /register
# Then restart
net start w32time
Configuracao via Group Policy
Para ambientes grandes, configure a sincronizacao de horario via Group Policy.
Configurar o PDC Emulator via GPO
Crie um GPO vinculado a OU de Domain Controllers com um filtro WMI que direciona apenas o PDC Emulator:
Filtro WMI:
SELECT * FROM Win32_ComputerSystem WHERE DomainRole = 5
(DomainRole 5 = PDC Emulator)
Configuracoes do GPO:
Navegue ate:
Computer Configuration > Policies > Administrative Templates > System > Windows Time Service > Time Providers
- Enable Windows NTP Client: Enabled
- Configure Windows NTP Client:
- NtpServer:
0.pool.ntp.org,0x9 1.pool.ntp.org,0x9 2.pool.ntp.org,0x9 - Type: NTP
- CrossSiteSyncFlags: 2
- SpecialPollInterval: 3600
- NtpServer:
O flag 0x9 significa modo NTP com intervalo de pesquisa especial.
Configurar todos os outros DCs via GPO
Crie um GPO separado para todos os DCs com um filtro WMI que exclui o PDC:
Filtro WMI:
SELECT * FROM Win32_ComputerSystem WHERE DomainRole = 4
(DomainRole 4 = Domain Controller, nao PDC)
Configuracoes do GPO:
- Configure Windows NTP Client:
- Type: NT5DS (sincronizar a partir da hierarquia do dominio)
Configurar membros do dominio
Membros do dominio sincronizam a partir da hierarquia por padrao. Se precisar de um GPO:
- Type: NT5DS
Solucao de problemas de sincronizacao de horario
O horario esta desviando em um controlador de dominio
-
Verifique se o DC conhece o PDC Emulator:
w32tm /query /sourceDeve mostrar o nome do PDC Emulator.
-
Verifique a saude da replicacao:
repadmin /replsummary -
Force a ressincronizacao:
w32tm /resync /rediscover
“The computer did not resync because no time data was available”
Isso significa que a fonte de horario configurada esta inacessivel:
- Se no PDC Emulator, verifique se o firewall permite porta UDP 123 de saida para os servidores NTP.
- Teste a conectividade:
w32tm /stripchart /computer:pool.ntp.org /samples:3 - Verifique a resolucao DNS dos nomes dos servidores NTP.
O horario esta significativamente errado (mais de 5 minutos)
O Kerberos pode impedir a autenticacao. Defina o horario manualmente primeiro:
# Manually set the time
net time /setsntp:time.nist.gov
# Or set it directly
w32tm /config /manualpeerlist:"time.nist.gov" /syncfromflags:manual /update
net stop w32time
net start w32time
w32tm /resync /force
Em maquinas virtuais, verifique tambem:
- Hyper-V: Desative o servico de integracao de sincronizacao de horario se o horario do host estiver errado. No Hyper-V Manager > Configuracoes da VM > Integration Services, desmarque Time Synchronization.
- VMware: Verifique as configuracoes de sincronizacao de horario do VMware Tools. No arquivo
.vmx, definatools.syncTime = "FALSE"se estiver usando sincronizacao de horario do AD.
O servico W32Time nao inicia
# Re-register the service
w32tm /unregister
w32tm /register
net start w32time
Se isso nao funcionar, verifique o registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time
Garanta que o servico esteja configurado com o valor Start de 2 (Automatico).
Verificar logs de eventos
Os eventos do servico de horario sao registrados em:
Event Viewer > Applications and Services Logs > Microsoft > Windows > Time-Service
Verifique tambem o log do Sistema para Event IDs:
- Event ID 35 — O servico de horario agora esta sincronizando com…
- Event ID 36 — O servico de horario nao conseguiu sincronizar…
- Event ID 129 — O provedor de cliente NTP nao consegue alcancar o servidor…
Consideracoes para maquinas virtuais
Maquinas virtuais sao particularmente suscetiveis a desvio de horario:
- VMs Hyper-V possuem um servico de integracao de sincronizacao de horario que sincroniza o relogio do guest com o host. Em ambientes AD, desative isso para DCs para evitar conflitos com a hierarquia de horario do AD.
- VMs VMware possuem sincronizacao de horario do VMware Tools que tambem pode conflitar com a sincronizacao de horario do AD. Desative-a nos DCs.
- Apos restaurar uma VM de um snapshot, o relogio pode estar definido para o horario do snapshot. Execute
w32tm /resync /forceimediatamente apos a restauracao.
Resumo
O Windows Time Services (W32Time) mantem a sincronizacao de relogio em todo o seu ambiente Active Directory atraves de um modelo hierarquico. O passo mais critico e configurar o PDC Emulator para sincronizar com uma fonte NTP externa confiavel — sem isso, o desvio de horario se propagara para todos os membros do dominio. Use w32tm /query /status para verificar a configuracao, w32tm /monitor para verificar todos os DCs e Group Policy para configuracao em toda a empresa. Em maquinas virtuais, tenha cuidado para evitar conflitos entre a sincronizacao de horario do hypervisor e a hierarquia de horario do AD.