Windows10 時刻同期の罠

 久しぶりに日本標準時刻とPC時刻との差を情報通信研究機構のページ

調べたら2秒遅くなっていた。そこで、自動的に時刻合わせをできないか

WEBで検索して試行錯誤したら泥沼にハマってしまった・・・。

1.Windowsタスクスケジューラの罠

 (1)WEBで検索したらタスクスケジューラを使ってPC立ち上げ時などに

  時刻合わせができるような記載が多くあった。しかし、試してみたが

  時刻合わせが出来ない・・・。

 (2)何故か調べたら、そもそもタスクスケジューラが正常に動作していない。

  その為、時刻合わせのプログラムが動いていなかった。

  →イベントビューアーのWindowsログ/システムを見たら、Time-Serviceのログがなかった。

  なお、タスクスケジューラの設定でエラーはなく、正常に受け付けられたように見える・・・。

 (3)試しに自分で簡単なプログラム(メモ帳の起動のみ)を作り、タイムスケジューラに登録した。

  その後、タスクスケジューラから下図(名前はPCtimeuser)のように直接実行させたら、

  いつまでも実行中のままになる。メモ帳がいつまでも起動されないので、結局は手動で

  プログラムを終了させた。

 (4)結論として、タスクスケジューラは使えない(正常に動作させるには隠されたコツがあるのかも)。

  過去に上手く動かせた人もいるが、現時点の最新版Windows10ではダメなのかもしれない。

 

2.Windowsスタートアップに登録にすれば動作可能

 (1)上記のプログラムをスタートアップに登録すれば動作させる事ができる。

 (2)そこで Windows Timeサービス(W32Time)を使う事にし、バッチファイルを作り実行させた。

   下記のWEBページにお世話になりました。ありがとうございます。

   ・【Windows 10】 時刻の同期をバッチファイルで実行

   なお、SCでなくnetを使用した。(SCではエラーになる事があったので)

 (3)バッチファイルを管理者権限で実行させるために、VBScriptを使う。

   →管理者権限でないとコマンドがエラーになる為。

   下記のWEBページのベストアンサーにお世話になりました。ありがとうございます。

   ・ VBScriptから外部コマンド(DOSコマンド)を管理者権限で実行したい

   コマンドとして上記(2)のバッチファイルを指定した。

 (4)自動的に同期できるようになったが、精度が・・・。

   何度トライしても0.7秒進んでいる状態が解消できない。

 

3.PC時刻同期ツールの利用

 (1)最終的には”iネッ時計”を使う事にした。

   下記のWEBページにお世話になりました。ありがとうございます。

   ・Windowsの時計を正確に合せる

 (2)上記により時刻は秒単位でピッタリあっている。Time.isで調べたら誤差はー0.026秒の精度である。

 

<個人的な感想>

 Windows  Timeサービス(W32Time)は精度を保証していないとの事なので、

上記1. 2.は無駄な事に多大の時間を使ってしまった。

初めにWindows10に期待したのが間違いであった・・・。

 

<リンク>

ブログのトップページは、こちら

バタイユゲーム情報班のホームページは、こちら