PCやサーバの時刻がずれてきたときの対応方法(現場で使えるw32tmコマンド)

Windows
スポンサーリンク

PCやサーバの時刻がずれてくることがありませんか?

この記事では、PCやサーバの時刻がずれてきたときにコマンドを使って対応する方法について説明します。

w32tmコマンドを使えば簡単に問題解決できますよ

時刻取得の概要

まずは時刻取得の仕組みについては、以下の図を頭の中でイメージしましょう。

AcitiveDirectoryサーバ(ドメインコントローラ)は外部のNTPサーバから時刻情報を定期的に取得します。

ドメインに参加しているPCは ActiveDirectoryサーバ(ドメインコントローラ)から時刻情報を定期的に取得します。

このようにして組織内の全てのサーバ・PCは正確な時刻を保持しているのが一般的です。

ですので、PCやサーバの時刻がずれてきたらこの図を頭に思い浮かべながら、次に紹介するコマンド群をつかっていくと調査しやすいです。

w32tmコマンドで時刻ずれの問題解決

状態確認

まずはActiveDirectoryサーバがどこから時刻をもらっているかを確認しましょう。

状態を確認するためには以下のコマンドを打ちます。どこから時刻をもらっているかの参照先がわかります。

w32tm /query /status

実行結果
f:id:kojikoji75:20200522164609p:plain

実行結果をみると、「ソース」のところが「Free-running System Clock」となっていますね。

ソース:Free-running System Clock

これは自身の内臓時計と同期しているということを意味します。

このようになっている場合、NICTが公開しているNTPサーバを参照するように設定を変更するなど対応をしましょう。

ちなみに上記のように /status でもいいのですが、時刻同期の参照先のみを知れればよいという場合はコマンドは下記です。

w32tm /query /source

実行結果
f:id:kojikoji75:20200522164605p:plain

上記 /status のときに得た結果の「ソース」の内容だけが得られることがわかります。

設定変更

ではNICTが公開しているNTPサーバを参照するように設定します。

NTPサーバを指定する

w32tm /update /manualpeerlist:XXX.XXX.XXX.XXX /syncfromflags:manual

再起動

設定変更した後はサービス再起動が必要となります。

w32timeサービスを再起動する

net stop w32time
net start w32time

手動同期

設定変更・再起動後には手動同期を実行して正常に動作する事を確認します。

手動で同期(即座に実行されるわけではない)

w32tm /resync

うまくいかない場合は /rediscover オプションをつけてやりなおしてみましょう。

w32tm /resync /rediscover

resyncだけで即座に同期が実行されるわけではありません。即座に実行したい場合は /nowait オプションをつけます。

w32tm /resync /nowait

実際に現場で問題解決するのに最低限必要になりそうなもののみ列挙しました。参考にしてみてください。

タイトルとURLをコピーしました