- Panoramica
- Riferimenti delle variabili
- Step 1: Architettura di sincronizzazione del tempo nel dominio
- Step 2: Configurazione NTP esterna per il PDC Emulator
- Step 3: Configurazione di altri DC e server membri
- Step 4: Unificazione delle impostazioni tramite GPO (PowerShell)
- Note per ambienti virtualizzati
- Test e troubleshooting
- Conclusione
Panoramica
Questo articolo spiega in dettaglio il funzionamento della sincronizzazione oraria in un ambiente di dominio Windows Server, con configurazione basata su PowerShell.
Sono inclusi la progettazione basata sul PDC Emulator, la configurazione del servizio w32time, l’unificazione tramite GPO e le considerazioni per gli ambienti virtualizzati.
Riferimenti delle variabili
| Variabile | Esempio | Descrizione |
|---|---|---|
<<PDC_HOST>> |
DC01.contoso.local |
PDC Emulator (riferimento orario del dominio) |
<<SECONDARY_DC>> |
DC02.contoso.local |
Altri controller di dominio |
<<NTP_SERVER>> |
ntp.nict.jp |
Server NTP esterno o IP |
<<CLIENT_HOST>> |
SRV01.contoso.local |
Server membro o client |
<<DOMAIN_NAME>> |
contoso.local |
Nome del dominio Active Directory |
Step 1: Architettura di sincronizzazione del tempo nel dominio
In un dominio Active Directory, la sincronizzazione segue una struttura gerarchica:
| Livello | Origine di sincronizzazione | Descrizione |
|---|---|---|
| PDC Emulator | Server NTP esterno | Fonte principale e unica di tempo “attendibile” per il dominio |
| Altri DC | PDC Emulator | Mantengono la coerenza temporale nel dominio |
| Server membri / Client | Controller di dominio più vicino | Sincronizzazione automatica per l’integrità di Kerberos |
In un ambiente Workgroup, ogni server deve essere configurato manualmente con un server NTP.
Step 2: Configurazione NTP esterna per il PDC Emulator
Il PDC Emulator deve essere impostato come unica fonte di tempo attendibile del dominio.
# Impostazione server NTP esterni (multipli possibili)
w32tm /config /manualpeerlist:"ntp.nict.jp time.google.com" /syncfromflags:manual /reliable:yes /update
# Annuncio come fonte di tempo attendibile
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config /v AnnounceFlags /t REG_DWORD /d 5 /f
# Riavvio del servizio
net stop w32time && net start w32time
Verifica:
w32tm /query /configuration
w32tm /query /status
Step 3: Configurazione di altri DC e server membri
Gli altri controller di dominio e server membri si sincronizzano automaticamente con il PDC, ma è possibile configurare manualmente:
# Seguire la gerarchia del dominio
w32tm /config /syncfromflags:domhier /update
net stop w32time && net start w32time
Forzare la sincronizzazione e verificarne lo stato:
w32tm /resync /force
w32tm /query /status
Step 4: Unificazione delle impostazioni tramite GPO (PowerShell)
Le impostazioni di sincronizzazione possono essere applicate a tutto il dominio tramite Group Policy (GPO).
Tutti i passaggi vengono gestiti tramite PowerShell senza usare l’interfaccia grafica.
1. Caricamento modulo GPO e verifica policy esistenti
Import-Module GroupPolicy
# Elenco di tutte le GPO
Get-GPO -All | Select-Object DisplayName, Id, GpoStatus
# Verifica della Default Domain Policy
Get-GPO -Name "Default Domain Policy" | Select-Object DisplayName, ModificationTime
2. Controllo impostazioni di sincronizzazione correnti
# Verifica delle impostazioni correnti (se assenti → non configurate)
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
Se viene mostrato un errore “non trovato”, significa che il valore non è ancora impostato.
3. Abilitazione e configurazione del client NTP
# Abilitare client NTP
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName Enabled -Type DWord -Value 1
# Modalità di sincronizzazione (NT5DS = gerarchia dominio / NTP = esterno)
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName Type -Type String -Value "NT5DS"
# Server NTP esterno (solo per PDC)
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName NtpServer -Type String -Value "<<NTP_SERVER>>,0x8"
# Intervallo di polling (secondi)
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName SpecialPollInterval -Type DWord -Value 3600
4. Verifica collegamento e ambito della GPO
# Generazione report collegamenti GPO (HTML)
Get-GPOReport -Name "Default Domain Policy" -ReportType Html -Path "$env:TEMP\DefaultDomainPolicy.html"
5. Applicazione e verifica della GPO
# Applicazione immediata
gpupdate /force
# Verifica policy applicate
gpresult /r
# Report dettagliato in HTML
Get-GPResultantSetOfPolicy -ReportType Html -Path "$env:TEMP\gpresult.html"
6. Verifica dei valori nel registro
reg query "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient"
Esempio output:
Enabled REG_DWORD 0x1
Type REG_SZ NT5DS
NtpServer REG_SZ ntp.nict.jp,0x8
SpecialPollInterval REG_DWORD 0xe10
Note per ambienti virtualizzati
In ambienti Hyper-V o VMware possono verificarsi conflitti di sincronizzazione tra host e VM.
Situazioni comuni:
- Sincronizzazione attiva sia su host che su VM
- PDC virtualizzato con sorgente NTP differente
- Snapshot o migrazioni che causano rollback temporali
Configurazione consigliata:
- Disattivare la sincronizzazione host sul PDC Emulator
- Permettere la sincronizzazione host su altre VM se necessario
- Tra DC, usare esclusivamente il servizio
w32time
Test e troubleshooting
# Test sincronizzazione NTP
w32tm /stripchart /computer:"<<NTP_SERVER>>" /dataonly /samples:5
# Stato servizio
Get-Service w32time
# Ultimi 10 eventi W32Time
Get-WinEvent -LogName System | Where-Object {$_.ProviderName -eq "Microsoft-Windows-Time-Service"} |
Select-Object TimeCreated, Id, LevelDisplayName, Message -First 10
Conclusione
- Il PDC Emulator è l’unica fonte di tempo attendibile nel dominio.
- Solo il PDC deve usare server NTP esterni; gli altri seguono la gerarchia
domhier. - In ambienti virtualizzati, evitare conflitti disabilitando la sincronizzazione host sul PDC.
