Synchronisez automatiquement l'heure de Windows plus souvent que par défaut

21

J'ai quelques PC qui perdent du temps et j'aimerais que Windows les synchronise plus souvent avec l'heure Internet. Je pense que Windows par défaut ne tente de se mettre à jour qu'une fois par jour et ne se met pas à jour si le serveur de temps n'est pas disponible (ce qui semble se produire assez souvent), ce qui signifie que les PC peuvent se retrouver 20 ou 30 secondes plus tard.

Je voudrais créer une tâche planifiée pour ce faire, disons toutes les 5 minutes et si le serveur de temps par défaut n'est pas disponible, utilisez mul

DermFrench
la source
2
Ne serait-il pas plus facile de déterminer la raison pour laquelle les ordinateurs en question ne peuvent pas se connecter au serveur de temps?
Ramhound
Les serveurs par défaut me manquent souvent aussi. Essayez de le changer pool.ntp.orgcomme suggéré dans cette réponse
jan-glx

Réponses:

14

Mes amis, je l'ai fait fonctionner avec des fenêtres intégrées en w32tm et une tâche planifiée (voir ci-dessous).

La première étape a été de configurer w32tm pour utiliser de nombreux serveurs de temps différents (et aussi pour se connecter afin que nous puissions voir ce qui se passait). La deuxième étape consistait à planifier w32tm dans le planificateur de tâches. J'ai aimé ces solutions car elles ne nécessitaient aucun outil tiers. Il est vraiment important de configurer les différents serveurs de temps car je trouve assez souvent qu'ils ne répondent pas.

Configurer w32tm

Ouvrez l'invite de commande (exécutez ce qui suit en tant qu'administrateur)

w32tm /config /manualpeerlist:"time.nist.gov time.windows.com time-nw.nist.gov time-a.nist.gov time-b.nist.gov time-a.timefreq.bldrdoc.gov time-b.timefreq.bldrdoc.gov time-c.timefreq.bldrdoc.gov utcnist.colorado.edu" /syncfromflags:manual /update

w32tm /query /configuration

Vérifiez que la liste des serveurs NTP est correctement mise à jour, c'est-à-dire qu'elle reflète la liste de pairs que vous venez de saisir

w32tm /debug /enable /file:C:\windows\temp\w32time.log /size:10000000 /entries:300

Accédez au répertoire et vérifiez que le journal a été créé

Modifiez l'heure du système manuellement (afin que l'heure ne soit plus synchronisée), puis revenez à l'invite de commande et exécutez la commande resync

w32tm /resync

Vérifiez que l'heure système a été mise à jour. ** Si vous obtenez une erreur indiquant que le service de temps ne démarre pas, vous pouvez utiliser la commande, net start w32timepuis essayez une autre resynchronisation

Si vous obtenez l'erreur suivante: The compter did not resync because the required time change was too big.utilisez cette commande pour resynchroniser:w32tm /resync /force

Si cela fonctionne correctement, il vous suffit de configurer la tâche planifiée suivante pour qu'elle s'exécute aussi souvent que vous le souhaitez (elle utilisera votre liste de pairs configurée ci-dessus).

Planifier w32tm

Argument de programme / script

%windir%\system32\sc.exe start w32time task_started
%windir%\system32\w32tm.exe /resync
DermFrench
la source
1
Par défaut, Windows Time obtient l'heure mise à jour au moins toutes les 9,1 heures . Ceci est contrôlé par l' MaxPollIntervalentrée de registre discutée sur ce lien. Les données de cette entrée sont converties en secondes avec la formule 2^Value. Par exemple, si la valeur de MaxPollInterval est 11, alors 2^11=2048sec=34minutes. Pour ceux qui souhaitent réduire la fréquence des mises à jour sans utiliser de tâche planifiée, modifiez simplement cette entrée de registre, puis redémarrez le service de temps Windows avec net stop w32timealors net start w32time.
Je dis Reinstate Monica
" /entries:300" n'est pas la bonne option. Il n'affichera que les entrées enregistrées avec le code # 300, ce qui n'est pas beaucoup d'entrées. L'idée est d'utiliser ce paramètre comme une liste de numéros d'entrée à afficher, " /entries:0-300" affichera donc tous les événements possibles dans le journal.
MikeB
10

Accédez à Panneau de configuration> Outils d'administration> Planificateur de tâches

à gauche est une arborescence de dossiers, développez: Bibliothèque du planificateur de tâches> Microsoft> Windows> Synchronisation de l'heure

faites un clic droit sur la tâche: SynchronizeTime> propriétés

Dans l'onglet: Déclencheurs, vous pouvez ajouter les déclencheurs souhaités.

Rudger
la source
L'OP a demandé un intervalle de synchronisation de 20 à 30 secondes. Cela n'est possible qu'avec l'astuce pour définir plusieurs déclencheurs
nixda
2
Idée fausse commune, mais on ne peut vraiment pas vous en vouloir! Cette tâche planifiée garantit uniquement que le service Windows Time est en cours d'exécution. Ainsi, même si vous déclenchez la tâche plus souvent, c'est toujours le service qui décide du moment de la synchronisation, ce qui est apparemment hebdomadaire.
Gras Double
6
Pour changer la fréquence d'interrogation: clé de registre HKLM\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient, éditez DWORD SpecialPollInterval, en secondes (par exemple pour un jour: hexadécimal 15180 ou décimal 86400).
Gras Double
Génial! cette astuce a fonctionné pour moi sur mon système d'exploitation W7
razor7
2
Merci à Microsoft d'avoir effectué une tâche de sondage simple telle que la synchronisation de l'heure SO DAMN COMPLICATED. La seule solution sensée consiste à exécuter régulièrement un utilitaire tiers en mode silencieux.
Gras Double
4

Vous pouvez utiliser TimeSync pour automatiser la synchronisation de l'heure.

  • à l'envers: n'enregistre pas un service entier comme W32tm (que vous avez, lorsque vous utilisez W32tm)
  • à l'envers: son portable et peut être exécuté avec /autooption dans le dossier de démarrage
  • inconvénient: outil tiers et non une solution intégrée

    entrez la description de l'image ici

TimeSync obtient l'heure actuelle d'un serveur NIST et ajuste l'horloge du PC si nécessaire. La précision est généralement en une seconde. [...] TimeSync essaiera d'autres serveurs, au cas où l'heure ne pourrait pas être obtenue du serveur préféré.

L'option / auto est fournie pour exécuter TimeSync à partir du dossier StartUp. Dans ce mode, la fenêtre TimeSync ne s'affichera pas si le décalage d'horloge est inférieur à un minimum donné.


Bien sûr, vous pouvez toujours enregistrer la solution intégrée W32tm avec cmd.exe → W32tm /registeret configurer votre tâche planifiée pour appeler cmd.exe → W32tm /resynctoutes les 5 minutes.

nixda
la source
2

Vous pouvez également essayer ce programme: http://www.worldtimeserver.com/atomic-clock/ Il vous permet de modifier les paramètres du service de temps de Windows - en toute simplicité.

Forcer également la synchronisation avec cela fonctionne, alors que les fenêtres "se mettent à jour maintenant" ne fonctionnent presque jamais.

NickSoft
la source
-1

J'exécute cette commande sur des kiosques que je gère.

net start w32time 
w32tm /resync /force

pour régler manuellement la date et l'heure:

date 5/24/2017
time 18:37:00

pour définir le fuseau horaire:

tzutil/s Pacific Standard Time
user1449936
la source
1
Que font les commandes du premier bloc de code? Les deuxième et troisième blocs de code ont-ils quelque chose à voir avec cette question?
Scott