web-dev-qa-db-ja.com

Windowsスクリプトでインターネット時間を同期しますか?

コマンドラインを介してシステムクロックをインターネットタイムサーバー(time.nist.govなど)と同期させる方法はありますか?できれば、これはBATまたはPowerShellスクリプトを介して実行可能なものである必要があります。

この特定のニーズが発生するのは、「マシンステートの保存」機能を定期的に使用するVMがいくつかあり、これらのVMは通常、「ウェイク」したときにクロックを再同期しないためです。多くの場合、私はそれらを再ロードして、クロックが同期していない(そして残っている)日を見つけます。

通常、[インターネット時刻設定]ダイアログを使用して時計を再同期することは正常に機能しますが、これを行うには多くのマウスクリックが必要です。デスクトップにスクリプトを保存して、ダブルクリックして作業を完了させたいだけです。

現在、これはWindows 7 Home x64を実行しているシステム用ですが、XP SP3への下位互換性があればいいでしょう。

12
Iszi

W32tmのリファレンス、「Windows Timeで発生する問題の診断に使用されるツール」を参照してください: http://technet.Microsoft.com/en-us/library/bb491016.aspx 。また、w32tm /?

w32tm /resyncを使用します。まだ設定していない場合は、net timeをサーバーに設定する必要がある場合もあります。

13
Jeff Ferland
@echo off
net start W32Time
w32tm /resync
echo sync complete
  1. このコードをメモ帳にコピーし、.batファイルとして保存します。
  2. 必要に応じて、管理者権限でバッチファイルを実行するか、タスクスケジューラからこのバッチファイルを実行するようにタスクをスケジュールします。

注:これには管理者権限とインターネット接続が必要です。

1
Sainath Prabhu

以前はnetコマンドでそれを行っていました。

ntp

ネットタイムntp.server.foo

窓用

正味時間\\サーバー

Ntpにある種の/ ntpフラグが必要だったかどうか思い出せません...必要な場合は通知されます。

0
Kyle__