Quando SpecialPollInterval viene usato come intervallo di polling, il servizio Ora di Windows non corregge l'ora in cui il servizio entra nello stato Spike

Questo articolo fornisce una soluzione per il problema che il servizio Ora di Windows non corregge l'ora in cui il servizio entra nello stato Spike.

Si applica a: Windows 10 versione 1511, Windows 10 Pro rilasciata a luglio 2015, Windows Server 2012 R2, Windows 8.1, Windows Server 2012, Windows 8, Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista
Numero KB originale: 2638243

Sintomi

Un computer client NTP che esegue edizioni di Windows Server o edizioni client Windows potrebbe non correggere l'ora se si verificano le condizioni seguenti:

  • Il client NTP sincronizza l'ora con il server NTP specificato manualmente.
  • Il client NTP usa SpecialPollInterval come intervallo di polling.
  • L'offset temporale tra il client NTP e il server NTP è maggiore di LargePhaseOffset configurato nel client NTP.

In questo caso, il client NTP non può correggere il tempo trascorso anche dopo l'attesa del passaggio di SpikeWatchPeriod.

Causa

Questo problema si verifica perché il client NTP entra nello stato SPIKE ogni volta che il client esegue il polling dell'esempio di ora nel server NTP. Il servizio Ora gestisce il relativo stato interno e, se il client passa allo stato SPIKE, il client non esegue la sincronizzazione dell'ora.

Risoluzione

Per risolvere questo problema in modo che il client NTP sia abilitato per la sincronizzazione con il server NTP dopo uno stato SPIKE, configurare l'ora di Windows per usare MinPollInterval/MaxPollInterval come intervallo di polling.

Per configurare l'ora di Windows per l'uso di MinPollInterval/MaxPollInterval come intervallo di polling, seguire questa procedura:

  1. Fare clic su Start, fare clic su Esegui, digitare cmd e quindi premere INVIO.

    Nota

    In Windows 8 o Windows Server 2012 premere il tasto logo Windows+R per aprire la casella Esegui, digitare cmd nella casella Esegui e quindi premere INVIO.

  2. Al prompt dei comandi digitare il comando seguente. Dopo aver digitato il comando, premere INVIO.

        w32tm /config /update /manualpeerlist:NTP_server_IP_Address,0x8 /syncfromflags:MANUAL  
    

    Nota

    Quando si usa il flag 0x1 con l'opzione , si specifica l'uso /manualpeerlist di SpecialPollInterval . Per risolvere questo problema, non usare il flag 0x1.

Soluzione alternativa

Se si vuole usare "SpecialPollinterval", è necessario modificare il Registro di sistema seguente:
Chiave: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
Valore: MinPollInterval
Digitare: DWORD

Per evitare questo problema, la chiave del Registro di sistema deve applicare l'espressione condizionale come indicato di seguito:
Espressione condizionale:
SpecialPollInterval<(2^MinPollInterval)*(HoldPeriod+1)
I valori predefiniti del computer membro del dominio sono i seguenti:

  • MinPollInterval=10
  • HoldPeriod=5

Nota

Se si impostano le impostazioni del servizio ora di Windows in base a Criteri di gruppo o local Criteri di gruppo, questa soluzione alternativa non funziona ed è necessario eliminare le impostazioni dei criteri.

Stato

Microsoft ha confermato che si tratta di un problema nei prodotti Microsoft elencati nella sezione "Si applica a".

Ulteriori informazioni

L'intervallo di polling usato dall'ora di Windows è impostato dalla sottochiave del Registro di sistema seguente:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

Se il valore della voce NtpServer in questa sottochiave contiene 0x1, Ora di Windows usa SpecialPollInterval come intervallo di polling. In caso contrario, Ora di Windows usa MinPollInterval/MaxPollInterval. Per altre informazioni sui valori del Servizio ora di Windows e del Registro di sistema, visitare il seguente sito Web Microsoft:
https://technet.microsoft.com/library/cc773263(WS.10).aspx