- Descripción general
- Referencia de variables
- Paso 1: Estructura básica de sincronización en el dominio
- Paso 2: Configuración del PDC Emulator con NTP externo
- Paso 3: Configuración de otros DC y servidores miembros
- Paso 4: Política unificada de sincronización mediante GPO (PowerShell)
- Consideraciones en entornos virtualizados
- Pruebas y resolución de problemas
- Resumen
Descripción general
Este artículo explica el funcionamiento de la sincronización de tiempo en un entorno de dominio de Windows Server.
Se abordan el diseño basado en el PDC Emulator, la configuración del servicio w32time, la aplicación centralizada mediante GPO y las consideraciones para entornos virtualizados.
Referencia de variables
| Variable | Ejemplo | Descripción |
|---|---|---|
<<PDC_HOST>> |
DC01.contoso.local |
PDC Emulator (referencia de tiempo del dominio) |
<<SECONDARY_DC>> |
DC02.contoso.local |
Controlador de dominio secundario |
<<NTP_SERVER>> |
ntp.nict.jp |
Servidor NTP externo |
<<CLIENT_HOST>> |
SRV01.contoso.local |
Servidor miembro o cliente |
<<DOMAIN_NAME>> |
contoso.local |
Nombre del dominio de Active Directory |
Paso 1: Estructura básica de sincronización en el dominio
En Active Directory, la sincronización del tiempo sigue una jerarquía:
| Nivel | Fuente de sincronización | Descripción |
|---|---|---|
| PDC Emulator | Servidor NTP externo | Fuente de tiempo principal y confiable del dominio |
| Otros DC | PDC Emulator | Mantienen la jerarquía de tiempo del dominio |
| Servidores miembros / Clientes | DC más cercano | Se sincronizan automáticamente para mantener la coherencia de Kerberos |
En entornos workgroup, cada servidor debe configurarse manualmente con una fuente NTP.
Paso 2: Configuración del PDC Emulator con NTP externo
El PDC Emulator se configura como la única fuente de tiempo confiable del dominio.
# Configurar servidores NTP externos (se pueden definir varios)
w32tm /config /manualpeerlist:"ntp.nict.jp time.google.com" /syncfromflags:manual /reliable:yes /update
# Anunciar como fuente de tiempo confiable
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config /v AnnounceFlags /t REG_DWORD /d 5 /f
# Reiniciar el servicio
net stop w32time && net start w32time
Verificación:
w32tm /query /configuration
w32tm /query /status
Paso 3: Configuración de otros DC y servidores miembros
Los demás controladores de dominio y servidores obtienen la hora automáticamente del PDC, aunque también puede configurarse manualmente.
# Configuración según la jerarquía del dominio
w32tm /config /syncfromflags:domhier /update
net stop w32time && net start w32time
Forzar sincronización y comprobar el estado:
w32tm /resync /force
w32tm /query /status
Paso 4: Política unificada de sincronización mediante GPO (PowerShell)
Las configuraciones de tiempo pueden aplicarse globalmente mediante Política de Grupo (GPO).
Se gestionan completamente con PowerShell, sin usar interfaces gráficas.
1. Cargar el módulo de GPO y revisar políticas existentes
Import-Module GroupPolicy
# Listar políticas
Get-GPO -All | Select-Object DisplayName, Id, GpoStatus
# Comprobar la existencia de la Default Domain Policy
Get-GPO -Name "Default Domain Policy" | Select-Object DisplayName, ModificationTime
2. Comprobar configuraciones actuales de tiempo
# Consultar valores existentes (si no existen, no hay configuración)
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
Si aparece el error "no encontrado", significa simplemente que el valor aún no está definido.
3. Activar y configurar el cliente NTP
# Activar cliente NTP
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName Enabled -Type DWord -Value 1
# Modo de sincronización (NT5DS=jerarquía del dominio / 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 (solo para el 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 sondeo (en segundos)
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName SpecialPollInterval -Type DWord -Value 3600
4. Verificar el enlace y ámbito de la GPO
Get-GPOReport -Name "Default Domain Policy" -ReportType Html -Path "$env:TEMP\DefaultDomainPolicy.html"
5. Aplicar y validar la GPO
gpupdate /force
gpresult /r
Get-GPResultantSetOfPolicy -ReportType Html -Path "$env:TEMP\gpresult.html"
6. Comprobar valores reflejados en el registro
reg query "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient"
Ejemplo de salida:
Enabled REG_DWORD 0x1
Type REG_SZ NT5DS
NtpServer REG_SZ ntp.nict.jp,0x8
SpecialPollInterval REG_DWORD 0xe10
Consideraciones en entornos virtualizados
En entornos virtualizados (Hyper-V, VMware, etc.) pueden generarse conflictos si tanto el host como la VM tienen sincronización activa.
Casos comunes:
- Sincronización activa en host y VM
- PDC ejecutándose en VM con fuente NTP distinta
- Snapshots o migraciones que provocan retrocesos de tiempo
Recomendaciones:
- Desactivar sincronización del host en el PDC Emulator
- Permitir sincronización del host en otras VM
- Unificar la sincronización entre DC mediante
w32time
Pruebas y resolución de problemas
# Prueba de sincronización NTP
w32tm /stripchart /computer:"<<NTP_SERVER>>" /dataonly /samples:5
# Estado del servicio
Get-Service w32time
# Últimos 10 eventos relacionados con W32Time
Get-WinEvent -LogName System | Where-Object {$_.ProviderName -eq "Microsoft-Windows-Time-Service"} |
Select-Object TimeCreated, Id, LevelDisplayName, Message -First 10
Resumen
- El PDC Emulator es la única fuente de tiempo confiable del dominio.
- Solo el PDC usa servidores NTP externos; los demás siguen la jerarquía
domhier. - En entornos virtualizados, desactive la sincronización del host en el PDC para evitar conflictos.
