web-dev-qa-db-fra.com

Comment forcer la synchronisation de l'heure sur Windows Workstation ou Server?

Quelle est la commande pour synchroniser un poste de travail ou un serveur Windows avec sa source de temps configurée?

97
Kyle Brandt

Comme l'a dit Kyle w32tm /resync est la manière moderne de procéder. Voir ceci Lien vers la base de connaissances Microsoft (KB 307897) pour plus d'informations sur la commande w32tm.

Il y a aussi net time qui est une version plus ancienne mais peut-être plus simple.

92
Seanchán Torpéist

Pour ceux qui posent encore cette question.

  1. Pour mettre à jour, utilisez la commande ci-dessous (compatible avec les serveurs 2008 et 2012)

    w32tm /config /manualpeerlist:"ntp_server" /syncfromflags:manual /reliable:yes /update
    

changer le ntp_server avec votre source

  1. Redémarrez le service de temps

    net stop w32time
    net start w32time
    
  2. Resynchroniser l'heure

    w32tm /resync
    
  3. Vérifiez votre état de synchronisation

    w32tm /query /status
    

Les commandes ci-dessus devraient être correctes si vos sources fonctionnent correctement et/ou votre connexion est OK (le pare-feu ou Microsoft Forefront peut également être un problème). Les commandes ci-dessous peuvent aider au dépannage

Pour répertorier les pairs

w32tm /query /peers

Pour lister NTP Sources:

w32tm /query /source
41
user3011708

Vous pouvez utiliser la commande suivante:

w32tm /resync

24
Kyle Brandt

Vous pouvez utiliser:

w32tm /resync

De plus, en utilisant w32tm /resync /rediscover sera également "forcer la redétection des ressources du réseau avant la resynchronisation."

Ou en utilisant:

net time /set

Vous invitera à régler l'heure sur le DC. (Fonctionne pour les anciennes versions de Windows)

17
Brett Larson

Système d'exploitation: MS Windows 7

Toutes les idées ci-dessus ont été essayées mais n'ont pas aidé. Le problème d'origine existe toujours: " L'ordinateur n'a pas resynchronisé car le changement d'heure requis était trop important. "

La solution se trouve dans le registre: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\w32time\Config

  • changer cela si l'heure locale est pressée (par exemple 31-Dec-2050): MaxNegPhaseCorrection
  • modifiez cela si l'heure locale est retardée (par exemple, 1er janvier 1980): MaxPosPhaseCorrection
  • Les valeurs par défaut sont 0xD2F0 (soit 54000 sec. = 15 heures)

(utilisez Google pour plus de détails)

J'utilise ce simple win_clock_sync.bat fichier du démarrage du menu Démarrer:

echo off
echo Sync computer time from internet
echo.
echo Back-up registry w32time\Config
reg export HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\w32time\Config exported_w32time.reg /y
rem changing the registry keys temporarly:
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\w32time\Config /v MaxNegPhaseCorrection /d 0xFFFFFFFF /t REG_DWORD /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\w32time\Config /v MaxPosPhaseCorrection /d 0xFFFFFFFF /t REG_DWORD /f
echo.
echo w32tm /config /update
w32tm /config /update
echo.
echo w32tm /resync /rediscover 
w32tm /resync /rediscover 
echo.
echo Restore registry w32time\Config
reg import exported_w32time.reg

Prendre plaisir! :-)

3
Akos

Powershell one liner si le serveur ntp est configuré:

gsv w32time | sasv; w32tm /resync /force

Vous pouvez placer ce fichier .bat au démarrage si vous CMOS a échoué pour pouvoir se resynchroniser au démarrage du système d'exploitation:

@powrshell -NoProfile -Command 'gsv w32time | sasv; w32tm /resync /force'
2
majkinetor
net start w32time
w32tm /resync

selon Riot Games

1
NatoBoram

Presque aucune des solutions (à l'exception de @Akos) ne fonctionne si l'hôte est un contrôleur de domaine Active Directory (ADDC) Windows Server 2016, car il se traite comme une source "fiable" qui ne peut pas faire de gros changement de temps.

w32tm /resync /force ne fonctionne pas, car le /force n'apparaît pas dans le serveur 2016.

net time /SET /Y ne fonctionne pas non plus, car il aurait demandé:

Voulez-vous définir l'heure de l'ordinateur local pour qu'elle corresponde à l'heure à \AD.example.net? (O/N) [O]

Bien sûr, cela ne fonctionnera pas si vous êtes sur AD.example.net, /Y cache simplement la question.

Les étapes fonctionnent pour moi à l'aide de PowerShell:

  1. Définissez le service w32time comme non fiable:
w32tm /config /reliable:no /syncfromflags:manual /update

Option /syncfromflags:manual signifie synchronisation avec NTP répertorié dans la liste des homologues (c'est-à-dire NTP externe), /update pour avoir notifié le service horaire, la configuration a changé.

  1. Redémarrez le w32time
Stop-Service w32time
Start-Service w32time
  1. Sync
w32tm /resync

Cela devrait fonctionner.

  1. Si vous avez besoin d'ADDC comme source de temps fiable, rendez-le à nouveau fiable:
w32tm /config /reliable:yes /update
Stop-Service w32time
Start-Service w32time
0
Ding-Yi Chen

J'ai une image Win10 que je peux restaurer dans un instantané où ce message d'erreur est toujours reproductible: "The computer did not resync because the required time change was too big."

J'ai essayé de créer une solution à ce problème en vain:

reg import nettime.reg # updates MaxPosPhaseOffset and MaxNegPhaseOffset

net start w32time
w32tm.exe /config /manualpeerlist:"pool.ntp.org",0x8 /syncfromflags:manual /reliable:no /update  
w32tm.exe /query /configuration
w32tm.exe /resync /rediscover
w32tm.exe /resync /force

Ni le /reliable:no ni les paramètres MaxPosPhaseCorrection, ni aucune autre commande indiquée ici n'a fonctionné immédiatement de manière reproductible.

Après la mise à jour du registre, le démarrage du service, la mise à jour de la configuration et le redémarrage du service, j'ai dû encore attendre plusieurs minutes avant de w32tm /resync /rediscover réussirait.

La synchronisation temporelle réussit finalement, mais pas de manière opportune et fiable.

0
Comotion

Essayez dans cet ordre. Fonctionne tout le temps.

w32tm /unregister

w32tm /register

net stop w32time

net start w32time

w32tm /resync
0
slayernoah