Windowsワークステーションまたはサーバーで時刻を強制的に同期するにはどうすればよいですか?


回答:


81

カイルが言ったw32tm /resyncように、これを行う最新の方法です。この参照してください。マイクロソフトのナレッジベース(KB 307897)へのリンクを w32tmコマンドの詳細については。

net time古いバージョンですが、おそらくもっと簡単なバージョンもあります。


4
w32tm /resync「必要な時間の変更が大きすぎるため、コンピューターは再同期しませんでした。」CMOSバッテリーが切れており、2000年1月1日午前12:00にブートするたびにコンピューターの時計がリセットされるためです。助けがありますか?
終了しない

blog.bruteforcetech.com/archives/911に従って解決策が見つかりました。W32Timeサービスの再起動を忘れずに再net stop W32Time試行してw32tm /resync
ください

1
リンクが壊れています。
スティン・サンダース

2
@LightnessRacesinOrbitおよびその他のユーザーが「時間の変更が大きすぎました」というエラーを受け取った場合は、を使用してくださいw32tm /resync /force。ただし、サービスを開始していない場合は、を実行しnet start w32timeます。両方とも昇格したプロンプトから。
cdlvcdlv

4
解決するために変更レジストリ最大(FFFFFFFF)にます。HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Servicesの\のW32Time \ Configで値MaxNegPhaseCorrectionと値MaxPosPhaseCorrectionエントリ'時間変化が大きすぎだった'
トーマスF.

37

まだこの質問をしている人のために。

  1. 更新するには、以下のコマンドを使用してください(2008および2012サーバー互換)

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

ソースでntp_serverを変更します

  1. タイムサービスを再起動します

    net stop w32time
    net start w32time
    
  2. 時間を再同期

    w32tm /resync
    
  3. 同期ステータスを確認する

    w32tm /query /status
    

上記のコマンドは、ソースが正常に機能している場合、および/または接続に問題がない場合(ファイアウォールまたはMicrosoft Forefrontも問題になる場合があります)に問題ないはずです。以下のコマンドはトラブルシューティングに役立ちます

ピアをリストするには

w32tm /query /peers

NTPソースをリストするには:

w32tm /query /source

素敵で包括的な答えです!NTPサーバーをセットアップするためのコマンドの明確な+1。
-Shaamaan

注として、これは「/ update」フラグが無効なため、Windows 10 Professionalで機能します。
Fmstrat

トラブルシューティングについては、それが特定のサーバへの接続をテストすると便利です:w32tm /monitor /computers:time.windows.com
ランディOrrison


16

次を使用できます。

w32tm /resync

また、使用w32tm /resync /rediscoverすると、「再同期の前にリソースが割り当てられたネットワークの再検出が強制されます」。

または使用:

net time /set

DCに時間を設定するように求められます。(Windowsの古いバージョンで動作します)


2
なんらかの理由でw32tm /resyncうまくいきませんでしたが、net time /SET /Yうまくいきました。cygwinからsshdを実行するときに明らかにstdinを正しく読み取れないために使用し/Yましnet timeた。
qwertzguy

実行するw32tm /resyncThe computer did not resync because no time data was available.、サービスを再起動した後でもメッセージが表示されましたが、net time /SET適切に機能しました。
クリスマグナソン

3

OS:MS Windows 7

上記のアイデアはすべて試されましたが、助けにはなりませんでした。元の問題は依然として存在します:「必要な時間変更が大きすぎるため、コンピューターは再同期しませんでした。

解決策はレジストリにあります: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ w32time \ Config

  • 現地時間が急いでいる場合(例:20-Dec-2050):MaxNegPhaseCorrection
  • 現地時間が遅れる場合(1980年1月1日など)、これを変更します:MaxPosPhaseCorrection
  • デフォルト値は0xD2F0(54000秒= 15時間)です

(詳細についてはGoogleを使用してください)

win_clock_sync.bat[スタート]メニューの[スタートアップ]からこのシンプルなファイルを使用します。

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

楽しい!:-)


あなたの答えは、盲目的に無効にすべきだと提案する代わりに、MaxNegPhaseCorrectionとのMaxPosPhaseCorrection値の機能の説明を使用することができます。それが、このスクリプトがデータを0xFFFFFFFFに設定することで行うことです。
Twisty Impersonator

「必要な時間の変更が大きすぎるため、コンピューターは再同期しませんでした」というエラーメッセージを無視することはできません。MaxNegPhaseCorrectionおよびMaxPosPhaseCorrection値のデータを変更せずに。または、元の問題に対する有効な解決策を見つけましたか?そして、なぜあなたは「盲目的に」書いているのですか?少し時間をかけて読むと、これらの値の元のデータをエクスポートおよびインポートすることがわかります。これは、「盲目的に」何かをするのとは少し異なります。
アコス

このスクリプトで値を無効に変更し、強制的に更新してから、推奨値に戻す必要があります。
コリークナットソン

Twistyには、NeverQuitによって提起された問題にあまり焦点を当てていない有効なポイントがあります...しかし、Akosは、スクリプトがNeverQuitに適切なソリューションである理由を明確に説明していません。本質的に、レジストリ値MaxNegPhaseCorrectionおよびMaxPosPhaseCorrectionは、W32Timeサービスが現在の時刻に劇的な変更を適用することを停止するために存在します[外部の時刻ソースがひどく悪くなるなどの状況で]信頼性の高いタイムソースを使用すると、修正制御によりw32tmが大きなドリフトを修正できなくなります。この場合::: b
Creaky_Uncle_Nick

@Akos Downvoteは、スクリプトが実際にMaxNegPhaseCorrectionandのMaxPosPhaseCorrection値への変更を元に戻すという指摘に基づいて撤回しました。これら2つの設定は回答の重要な機能であるため、これらの設定が何を行うかについての説明を含めることをお勧めします。どんなに大きくても、Kerberosやその他の重要なネットワークサービスを破壊する可能性があります。
Twisty Impersonator

2

ntpサーバーが構成されている場合、Powershell one liner:

gsv w32time | sasv; w32tm /resync /force

CMOS bateryが失敗した場合、OSの起動時に再同期できるように、この.batファイルを起動に配置できます。

@powrshell -NoProfile -Command 'gsv w32time | sasv; w32tm /resync /force'

/forceは、ドキュメント化されたのコマンドラインオプションではありませんw32tm /resync


0

この順序で試してください。常に機能します。

w32tm /unregister

w32tm /register

net stop w32time

net start w32time

w32tm /resync

0

ホストがWindows Server 2016 Active Directoryドメインコントローラー(ADDC)の場合、大きな変更を加えることができない「信頼できる」ソースとして自身を扱うため、ほとんどのソリューション(@Akosを除く)は機能しません。

w32tm /resync /force/forceサーバー2016に表示されないため、機能しません。

net time /SET /Y 次のように尋ねられたため、どちらも機能しません。

ローカルコンピューターの時刻をの時刻と一致するように設定し \AD.example.netますか?(Y / N)[Y]

あなたが上にある場合はもちろん、それは動作しませんAD.example.net/Yちょうど質問を隠します。

PowerShellを使用すると、この手順が機能します。

  1. w32timeサービスを信頼できないものとして設定します。
w32tm /config /reliable:no /syncfromflags:manual /update

オプション/syncfromflags:manualは、ピアサービスリストにリストされたNTP(外部NTP)/updateと同期し、構成が変更されたことをタイムサービスに通知することを意味します 。

  1. w32timeを再起動します
Stop-Service w32time
Start-Service w32time
  1. 同期する
w32tm /resync

これは動作するはずです。

  1. 信頼できるタイムソースとしてADDCが必要な場合は、再度信頼できるようにします。
w32tm /config /reliable:yes /update
Stop-Service w32time
Start-Service w32time

0

このエラーメッセージが常に再現可能なスナップショットに復元できるWin10イメージがあります。 "The computer did not resync because the required time change was too big."

私はこの問題の解決策をスクリプトなしで利用しようとしました:

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

ここにも示されて/reliable:noいるMaxPosPhaseCorrection設定も設定も他のコマンドも、すぐに再現可能な方法で機能しませんでした。

レジストリを更新し、サービスを開始し、構成を更新し、サービスを再起動したw32tm /resync /rediscover後、成功するまで何分も待たなければなりませんでした。

時間同期は最終的に成功しますが、タイムリーで信頼できる方法ではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.