- Visão geral
- Referência de variáveis
- Etapa 1: Hierarquia básica de tempo no domínio
- Etapa 2: Configurar NTP externo no PDC Emulator
- Etapa 3: Configurar DCs e membros para usar a hierarquia
- Etapa 4: Política unificada de tempo via GPO (PowerShell)
- Observações para ambientes virtualizados
- Testes e troubleshooting
- Resumo
Visão geral
Este artigo explica como funciona a sincronização de tempo em um ambiente de domínio do Windows Server.
Cobrimos o desenho com o PDC Emulator como referência, a configuração do serviço w32time, a padronização por GPO e pontos de atenção em ambientes virtualizados.
Referência de variáveis
| Variável | Exemplo | Descrição |
|---|---|---|
<<PDC_HOST>> |
DC01.contoso.local |
PDC Emulator (referência de tempo do domínio) |
<<SECONDARY_DC>> |
DC02.contoso.local |
Outro controladores de domínio |
<<NTP_SERVER>> |
ntp.nict.jp |
Servidor NTP externo (nome ou IP) |
<<CLIENT_HOST>> |
SRV01.contoso.local |
Servidor membro ou cliente |
<<DOMAIN_NAME>> |
contoso.local |
Nome do domínio do Active Directory |
Etapa 1: Hierarquia básica de tempo no domínio
Em Active Directory, a sincronização segue uma hierarquia:
| Nível | Fonte de sincronização | Descrição |
|---|---|---|
| PDC Emulator | NTP externo | Única fonte de tempo confiável do domínio |
| Demais DCs | PDC Emulator | Mantêm a hierarquia de tempo do domínio |
| Membros / Clientes | DC mais próximo | Sincronizam automaticamente para consistência do Kerberos |
Em workgroup, cada máquina deve apontar manualmente para uma fonte NTP.
Etapa 2: Configurar NTP externo no PDC Emulator
Configure o PDC como a fonte de tempo confiável do domínio.
# Definir servidores NTP externos (múltiplos são aceitos)
w32tm /config /manualpeerlist:"ntp.nict.jp time.google.com" /syncfromflags:manual /reliable:yes /update
# Anunciar como fonte confiável
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config /v AnnounceFlags /t REG_DWORD /d 5 /f
# Reiniciar o serviço
net stop w32time && net start w32time
Verificação:
w32tm /query /configuration
w32tm /query /status
Etapa 3: Configurar DCs e membros para usar a hierarquia
Por padrão, outros DCs e membros seguem o PDC; ainda assim é possível forçar a configuração:
# Seguir a hierarquia do domínio
w32tm /config /syncfromflags:domhier /update
net stop w32time && net start w32time
Forçar sincronização e checar status:
w32tm /resync /force
w32tm /query /status
Etapa 4: Política unificada de tempo via GPO (PowerShell)
Padronize as definições de tempo com GPO e PowerShell — consulta, configuração e aplicação fim-a-fim.
1. Carregar módulo de GPO e auditar políticas
Import-Module GroupPolicy
# Listar GPOs
Get-GPO -All | Select-Object DisplayName, Id, GpoStatus
# Conferir a Default Domain Policy
Get-GPO -Name "Default Domain Policy" | Select-Object DisplayName, ModificationTime
2. Consultar configurações atuais de tempo
# Valores existentes (se ausentes, ainda não configurados na GPO)
Get-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName Type
Get-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName NtpServer
Uma mensagem “não encontrado” indica apenas ausência de valor — situação normal quando ainda não configurado.
3. Habilitar e configurar o cliente NTP
# Habilitar NTP Client
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName Enabled -Type DWord -Value 1
# Modo de sincronização (NT5DS=hierarquia do domínio / NTP=externo)
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName Type -Type String -Value "NT5DS"
# Servidor NTP externo (apenas no PDC)
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName NtpServer -Type String -Value "<<NTP_SERVER>>,0x8"
# Intervalo de polling (segundos)
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName SpecialPollInterval -Type DWord -Value 3600
4. Verificar vínculo e escopo da GPO
# Relatório em HTML do vínculo/escopo
Get-GPOReport -Name "Default Domain Policy" -ReportType Html -Path "$env:TEMP\DefaultDomainPolicy.html"
5. Aplicar GPO e validar
# Aplicar imediatamente
gpupdate /force
# Validar políticas aplicadas
gpresult /r
# Relatório detalhado (HTML)
Get-GPResultantSetOfPolicy -ReportType Html -Path "$env:TEMP\gpresult.html"
6. Conferir valores efetivamente aplicados no Registro
reg query "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient"
Exemplo de saída:
Enabled REG_DWORD 0x1
Type REG_SZ NT5DS
NtpServer REG_SZ ntp.nict.jp,0x8
SpecialPollInterval REG_DWORD 0xe10
Observações para ambientes virtualizados
Em Hyper-V/VMware, podem ocorrer conflitos se host e guest sincronizarem simultaneamente.
Cenários típicos:
- Sincronização ativa tanto no host quanto na VM
- PDC virtualizado apontando para uma fonte NTP diferente
- Snapshots/migrações causando salto ou regressão de tempo
Recomendações:
- Desative a sincronização de hora do host no PDC Emulator
- Outras VMs podem usar a hora do host
- Entre DCs, padronize apenas com
w32time
Testes e troubleshooting
# Teste de NTP (latência/desvio)
w32tm /stripchart /computer:"<<NTP_SERVER>>" /dataonly /samples:5
# Status do serviço
Get-Service w32time
# Últimos 10 eventos do serviço de tempo
Get-WinEvent -LogName System | Where-Object {$_.ProviderName -eq "Microsoft-Windows-Time-Service"} |
Select-Object TimeCreated, Id, LevelDisplayName, Message -First 10
Resumo
- O PDC Emulator é a única fonte de tempo confiável do domínio.
- Somente o PDC usa NTP externo; demais sistemas seguem
domhier. - Em VMs, desative a sincronização do host no PDC para evitar conflitos.
