ntp メモ
コマンドラインで時刻の同期を操作するにはどうしたらいい?
「w32time」コマンドで頑張りましょう。
例) > w32time /resync … 今、単発で同期を行う。
OS の種類やバージョンによってコマンドも違うし、 システム構成によって時刻同期の操作できる範囲も違ってきたりします。 このメモには検索エンジンにぶち込むためのキーワードを列挙しておきましょう。
- w32tm
- w32time
- net time
- Windows Time
Windows の種類によって「ちょっとづつ微妙に違う」というのが実に最悪です。 黙って ntpdate コマンドを置いておいてくれないか、と思います。
「インターネット時刻」を設定しているのに時刻がズレるのはなぜ?
…なんでか知らないけど、そういう「仕様」らしいです。 詳しいことは MS の資料「 Windows 7 および Windows Server 2008 R2 のスタンドアロン環境で Windows Time サービスが自動的に起動しない 」 に書かれています。つまみ食いで引用すると以下のような具合。
- Windows 7 や Windows 2008R2 のマシンで、ドメインに入ってない奴は、Windows Time サービスが勝手に止まることになっている。
- Windows Time サービスが止まっていると、時刻が同期されることはない。
- 回避策は3つある。
- サービスを止めてしまうトリガを除去する。 sc triggerindo w32time delete を実行する。
- サービスを止めてしまうトリガを変更する。 sc trigerinfo w32time start/networkon stop/networkoff を実行する。
- Windows Time サービスのスタートアップの種類を「自動(遅延開始)」にする。
設定変更後、可能であれば Windows を再起動して、 Windows Time サービスの挙動を確認しておくと良いです。
「桜時計」で時刻が合わせられないのはなぜ?
Windows 2000 など、「インターネット時刻」(笑) の機能が無い場合には 桜時計などのツールで時刻を合わせることになります。
しかし、正しい IP アドレスを設定しているのに時刻同期してくれない場合があります。
そういう時は、hosts でも何でもいいので、その IP アドレスに対して名前を付けてあげてください。