La sincronizzazione dell’orario è un requisito fondamentale per il corretto funzionamento di un dominio Active Directory.
Kerberos, replica tra Domain Controller, certificati digitali, log di sicurezza e applicazioni aziendali dipendono da un riferimento temporale coerente. Un disallineamento può provocare errori di autenticazione, ticket Kerberos non validi, anomalie nella replica e difficoltà nella correlazione degli eventi di sicurezza.
In questa guida vediamo come configurare il servizio NTP su Windows Server 2016, 2019, 2022 e 2025 utilizzando w32tm, come identificare il PDC Emulator della foresta radice e come verificare che server e client seguano correttamente la gerarchia temporale del dominio.
Per comprendere meglio ruoli, Domain Controller e struttura del dominio, consulta anche la guida su come funziona Active Directory.
Come funziona la sincronizzazione dell'orario in Active Directory
In un dominio Windows, l’orario non deve essere configurato manualmente su ogni server e workstation.
Active Directory utilizza una gerarchia temporale:
- i client e i member server sincronizzano l’orario tramite un Domain Controller;
- i Domain Controller seguono la gerarchia del dominio;
- il PDC Emulator di ogni dominio rappresenta il riferimento temporale principale del dominio;
- il PDC Emulator del dominio radice della foresta sincronizza l’orario con una sorgente NTP esterna autorevole.
La configurazione delle sorgenti NTP esterne deve quindi essere applicata esclusivamente al PDC Emulator del dominio radice della foresta.
Gli altri Domain Controller, i server membri e i client devono mantenere il tipo di sincronizzazione NT5DS, cioè utilizzare la gerarchia temporale di Active Directory.
Questa architettura evita configurazioni divergenti, loop di sincronizzazione e differenze di orario tra sistemi.
Individuare il PDC Emulator della foresta radice
Prima di modificare il servizio Windows Time è necessario identificare il Domain Controller che detiene il ruolo FSMO di PDC Emulator.
Dal dominio radice della foresta, apri un prompt dei comandi con privilegi amministrativi ed esegui:
>netdom query fsmoIl comando restituisce i cinque ruoli FSMO. Il server indicato accanto alla voce PDC è il sistema sul quale configurare le sorgenti NTP esterne.
In alternativa, con PowerShell e il modulo Active Directory:
$RootDomain = (Get-ADForest).RootDomain
Get-ADDomain -Identity $RootDomain |
Select-Object DNSRoot, PDCEmulatorQuesta seconda procedura individua esplicitamente il PDC Emulator del dominio radice, anche in una foresta composta da più domini.
Verifica tecnica Active Directory
Il dominio presenta errori Kerberos, problemi di replica o configurazioni FSMO non documentate? L’assessment Nexsys verifica ruoli FSMO, replica, DNS, GPO, protocolli legacy, deleghe e percorsi di escalation.
Individuare il PDC Emulator della foresta radice
Accedi al PDC Emulator del dominio radice e apri PowerShell o il prompt dei comandi come amministratore.
Per utilizzare i tre server NTP primari dell’INRiM, esegui:
>w32tm /config /manualpeerlist:"ntp1.inrim.it,0x8 ntp2.inrim.it,0x8 time.inrim.it,0x8" /syncfromflags:manual /reliable:yes /updateRiavvia quindi il servizio Windows Time:
>Restart-Service w32timeForza la riscoperta delle sorgenti e una nuova sincronizzazione:
>w32tm /resync /rediscoverIl parametro 0x8 imposta W32Time in modalità NTP client. È la modalità normalmente indicata per interrogare server NTP esterni che non utilizzano la modalità simmetrica proprietaria di Windows.
Il parametro /reliable:yes indica che il Domain Controller è una sorgente temporale affidabile per la gerarchia del dominio. Questa opzione deve essere utilizzata sul PDC Emulator, non sui normali server membri.
I peer indicati nella manualpeerlist devono essere separati da spazi e l’intera lista deve essere racchiusa tra virgolette.
Microsoft raccomanda di utilizzare almeno tre sorgenti temporali quando si configurano più peer. I server INRiM utilizzati nell’esempio sono collegati alla scala di tempo nazionale italiana UTC(IT).
Verificare la configurazione NTP
Dopo aver applicato la configurazione, verifica la sorgente temporale corrente:
>w32tm /query /sourceIl risultato deve mostrare uno dei server NTP configurati e non:
>Local CMOS ClockVerifica lo stato completo della sincronizzazione:
>w32tm /query /statusI dati principali da controllare sono:
- Source: sorgente temporale utilizzata;
- Stratum: livello gerarchico della sorgente NTP;
- Last Successful Sync Time: data e ora dell’ultima sincronizzazione;
- Poll Interval: intervallo corrente tra le interrogazioni;
- Phase Offset: differenza rilevata rispetto alla sorgente.
Per visualizzare i peer configurati:
>w32tm /query /peersPer verificare la configurazione completa e l’origine dei singoli parametri:
>w32tm /query /configurationIl comando mostra anche se un’impostazione deriva dalla configurazione locale oppure da una Group Policy.
Testare la raggiungibilità del server NTP
Per verificare se il PDC riceve risposte dal server NTP, utilizza:
>w32tm /stripchart /computer:ntp1.inrim.it /dataonly /samples:5Il comando mostra una serie di campioni con il relativo offset temporale.
Se non vengono ricevute risposte, verifica:
- risoluzione DNS del nome NTP;
- connettività Internet del Domain Controller;
- policy firewall;
- eventuali ACL su router e firewall per UDP 123;
- sistemi IPS o security appliance che possono bloccare o modificare il traffico NTP.
Il servizio Windows Time utilizza il protocollo NTP sulla porta UDP 123. La regola di rete deve consentire la comunicazione verso i server configurati e il relativo traffico di risposta.

Ripristinare la gerarchia di dominio su server e client
Un server appartenente al dominio non dovrebbe normalmente utilizzare server NTP esterni configurati manualmente.
Se un member server, un client o un Domain Controller secondario presenta una configurazione manuale errata, ripristina la sincronizzazione dalla gerarchia Active Directory:
>w32tm /config /syncfromflags:domhier /updateRiavvia il servizio:
>Restart-Service w32timeForza quindi la riscoperta della sorgente:
>w32tm /resync /rediscoverVerifica il risultato:
>w32tm /query /sourceSu un sistema appartenente al dominio, la sorgente dovrebbe essere un Domain Controller o un altro riferimento coerente con la gerarchia AD.
Non configurare manualmente ntp1.inrim.it, time.windows.com o altri server pubblici su ogni workstation: questa impostazione aggirerebbe la gerarchia temporale del dominio.
Configurare NTP tramite Group Policy
Negli ambienti enterprise è preferibile gestire la configurazione del PDC Emulator tramite una Group Policy dedicata.
Questo permette di:
- documentare centralmente la configurazione;
- evitare modifiche locali non tracciate;
- applicare nuovamente le impostazioni in caso di variazioni;
- trasferire dinamicamente la configurazione quando cambia il ruolo PDC Emulator.
Apri la Group Policy Management Console:
>gpmc.mscCrea una GPO con un nome descrittivo, per esempio:
>DC - Root PDC External NTPModifica la GPO e raggiungi:
Computer Configuration
Administrative Templates
System
Windows Time Service
Time Providers
Configura Configure Windows NTP Client con i seguenti valori:
State: Enabled
NtpServer:
ntp1.inrim.it,0x8 ntp2.inrim.it,0x8 time.inrim.it,0x8
Type:
NTP
Abilita anche:
>Enable Windows NTP Client: EnabledNelle impostazioni globali del servizio Windows Time può essere configurato il valore:
>AnnounceFlags: 5La GPO deve essere collegata alla OU Domain Controllers del dominio radice, ma non deve applicarsi indiscriminatamente a tutti i Domain Controller.
Per indirizzare dinamicamente il solo PDC Emulator, crea un filtro WMI con la seguente query:
>Select * from Win32_ComputerSystem where DomainRole = 5Associa il filtro WMI alla GPO.
In questo modo, quando il ruolo PDC Emulator viene trasferito a un altro Domain Controller del dominio radice, la policy può seguire automaticamente il nuovo role holder al successivo aggiornamento dei criteri.
Forza l’elaborazione sul PDC:
>gpupdate /forceQuindi esegui:
>w32tm /resync /rediscoverVerifica infine configurazione e sorgente:
w32tm /query /configuration
w32tm /query /source
Per approfondire scope, Security Filtering, WMI Filtering e troubleshooting dei criteri, consulta la guida alle Group Policy in ambiente Windows.
Differenza tra i flag 0x8 e 0x9
I flag applicati ai peer NTP possono essere combinati:
- 0x1: usa SpecialPollInterval;
- 0x2: utilizza il peer solo come fallback;
- 0x4: usa la modalità Symmetric Active;
- 0x8: usa la modalità Client.
Il valore 0x9 corrisponde alla combinazione:
>0x8 + 0x1quindi abilita la modalità client e utilizza l’intervallo definito in SpecialPollInterval.
Non deve essere descritto semplicemente come “Client”: la modalità client è rappresentata dal solo flag 0x8.
Per una configurazione standard verso server NTP pubblici è possibile utilizzare 0x8. Il valore 0x9 ha senso quando si vuole controllare esplicitamente il polling tramite SpecialPollInterval.
Troubleshooting: NTP non si sincronizza
La sorgente è Local CMOS Clock
Se il comando:
>w32tm /query /sourcerestituisce Local CMOS Clock, il server non sta utilizzando correttamente una sorgente esterna.
Controlla:
w32tm /query /configuration
w32tm /query /peers
Verifica che:
- Type sia impostato su NTP;
- i peer siano presenti;
- il servizio W32Time sia avviato;
- la porta UDP 123 non sia bloccata;
- una GPO non sovrascriva la configurazione locale.
Nessun dato temporale disponibile
L'errore:
>The computer did not resync because no time data was availableindica generalmente che il server non riceve campioni validi dalle sorgenti configurate.
Esegui:
>w32tm /stripchart /computer:ntp1.inrim.it /dataonly /samples:5Se il test non restituisce campioni, verifica DNS, routing e firewall.
I peer risultano Pending
Se w32tm /query /peers mostra lo stato Pending, riavvia il servizio e forza una nuova individuazione:
>Restart-Service w32time>w32tm /resync /rediscoverControlla quindi il registro eventi:
Get-WinEvent -FilterHashtable @{
LogName = 'System'
ProviderName = 'Microsoft-Windows-Time-Service'
} -MaxEvents 20
Un client continua a usare un server NTP esterno
Ripristina la gerarchia di dominio:
>w32tm /config /syncfromflags:domhier /update>Restart-Service w32time>w32tm /resync /rediscoverSe la configurazione ritorna dopo l’aggiornamento delle policy, individua la GPO responsabile:
>gpresult /h C:\Temp\gpresult.htmlApri il report e controlla le impostazioni relative a Windows Time Service.
L'orario è disallineato dopo il trasferimento dei ruoli FSMO
Dopo un trasferimento o un seizure del ruolo PDC Emulator, verifica immediatamente:
$RootDomain = (Get-ADForest).RootDomain
Get-ADDomain -Identity $RootDomain |
Select-Object PDCEmulator
Sul nuovo PDC controlla:
w32tm /query /configuration
w32tm /query /source
Il vecchio PDC deve tornare a utilizzare la gerarchia del dominio, mentre il nuovo PDC deve ricevere la configurazione delle sorgenti esterne.
Se l’infrastruttura è oggetto di sostituzione o consolidamento dei Domain Controller, consulta il servizio di migrazione e consolidamento Active Directory.
NTP e Domain Controller virtualizzati
La sincronizzazione dei Domain Controller virtualizzati deve essere progettata evitando conflitti tra:
- Windows Time Service;
- gerarchia Active Directory;
- servizi di integrazione dell’hypervisor;
- sorgente temporale dell’host.
Il PDC Emulator della foresta radice deve utilizzare la sorgente NTP esterna prevista dall’architettura. L’hypervisor non deve sovrascrivere continuamente l’orario fornito da W32Time.
La configurazione dipende dalla piattaforma utilizzata: Hyper-V, VMware vSphere e Azure adottano meccanismi di integrazione differenti. Non è quindi corretto disabilitare indiscriminatamente ogni forma di sincronizzazione host-guest su tutte le macchine virtuali.
È necessario verificare in particolare:
- quale provider temporale è attivo;
- se il guest riceve correzioni sia dall’hypervisor sia da W32Time;
- il comportamento durante snapshot, restore e migrazioni;
- la configurazione specifica del PDC Emulator;
- la sorgente utilizzata dagli host di virtualizzazione.
Perché NTP è rilevante per la sicurezza Active Directory
Kerberos utilizza timestamp per verificare la validità dei ticket e contrastare i replay attack.
Un’eccessiva differenza di orario tra client e Domain Controller può provocare errori come:
KRB_AP_ERR_SKEW
KDC_ERR_SKEW
La sincronizzazione temporale è inoltre fondamentale per:
Correlare eventi provenienti da server, endpoint, firewall e SIEM.
Ricostruire correttamente una timeline durante un incidente.
Verificare la validità temporale dei certificati digitali.
Analizzare le autenticazioni e le modifiche amministrative.
Produrre log affidabili durante audit di conformità e attività forensi.
Una configurazione NTP corretta non è quindi soltanto una misura di stabilità sistemistica, ma una componente della postura di sicurezza del dominio.
Quando verificare nuovamente la configurazione
Dopo il trasferimento dei ruoli FSMO
Dopo la promozione o dismissione di un Domain Controller
Dopo una migrazione Active Directory
Dopo un restore o un intervento di disaster recovery
Dopo modifiche a firewall, routing o DNS
Dopo modifiche alla piattaforma di virtualizzazione
In presenza di errori Kerberos o autenticazioni intermittenti
Quando i timestamp dei log non risultano coerenti
Prima di un audit o di un progetto di hardening

Best practice per il servizio Windows Time
Configura le fonti NTP esterne solo sul PDC Emulator del dominio radice
Utilizza almeno tre sorgenti temporali affidabili
Mantieni client e member server configurati su NT5DS
Evita configurazioni manuali divergenti nei sistemi del dominio
Documenta chiaramente peer NTP, GPO e criteri firewall
Verifica la sorgente dopo ogni trasferimento di ruolo FSMO
Monitora gli eventi del provider Windows Time Service nei log di sistema
Controlla periodicamente offset e data di ultima sincronizzazione
Gestisci separatamente la sincronizzazione dei Domain Controller virtualizzati
Non utilizzare il Local CMOS Clock come riferimento ordinario del dominio
FAQ sulla configurazione NTP in Windows Server
Quale Domain Controller deve sincronizzarsi con Internet?
Il PDC Emulator del dominio radice della foresta. Gli altri sistemi devono seguire la gerarchia temporale di Active Directory.
Devo configurare NTP su tutti i Domain Controller?
No. I Domain Controller diversi dal PDC Emulator del dominio radice devono normalmente sincronizzarsi tramite la gerarchia del dominio.
Quale comando configura NTP su Windows Server?
Il comando principale da eseguire sul PDC Emulator del dominio radice è:
>w32tm /config /manualpeerlist:"SERVER1,0x8 SERVER2,0x8 SERVER3,0x8" /syncfromflags:manual /reliable:yes /updateCome verifico il server NTP utilizzato?
Esegui w32tm /query /source. Per maggiori informazioni puoi verificare anche lo stato, i peer e la configurazione con i seguenti comandi:
>w32tm /query /status
>w32tm /query /peers
>w32tm /query /configurationQual è la porta utilizzata da NTP?
NTP utilizza la porta UDP 123.
Cosa significa il flag 0x8?
Il flag 0x8 imposta W32Time in modalità NTP client.
Cosa significa il flag 0x9?
0x9 combina la modalità client 0x8 con SpecialInterval, rappresentato da 0x1.
Come riporto un server alla sincronizzazione di dominio?
Esegui il comando per ripristinare la gerarchia:
>w32tm /config /syncfromflags:domhier /updateIn seguito, riavvia W32Time e forza la riscoperta:
>w32tm /resync /rediscoverFormazione Active Directory per amministratori IT
La gestione del servizio Windows Time è soltanto uno degli aspetti operativi di un’infrastruttura Active Directory. Il corso Nexsys approfondisce Domain Controller, DNS, replica, ruoli FSMO, Group Policy, deleghe, troubleshooting e sicurezza del dominio con esercitazioni pratiche.
Verifica della configurazione Active Directory
Errori NTP possono indicare problemi di replica, DNS, ruoli FSMO o Group Policy. Nexsys esegue assessment e remediation Active Directory.


