Vistaで、インターネット時刻の同期の頻度(間隔)を変更する

2007.03.16 Author: ぴ

PCにおいて システム時刻=時計 は、様々な箇所で利用されています。身近なところでは、タスクバー上の時計、メール送信時のメール送信時刻や、ファイル保存時のファイル更新日時がシステム時刻を参照しています。

そのため、システム時刻を正しく設定しておくのは非常に大切なことです。PCの時計はM/B(マザーボード)上の水晶振動子からのデータで時刻を合わせているが、さまざまなノイズ等の影響を受けるため、1日に数秒~数十秒単位で狂う場合が多々あります。

テレビやラジオ等の時報で自分の時計を合わせるように、PCの時計も時刻設定することが可能ですが、手動で合わせるのは非常に面倒かつ正確性に欠けるため、Windowsのソフトウェアとして様々な自動時刻合わせのソフトウェアが提供されています。

自動時刻合わせのソフトウェアは、NTPサーバに時刻を問い合わせに行き、時刻を同期させるという処理を行っています。Windows Vista/XP/2000 では、標準でこの機能を使うことが可能ですが、多くのユーザは使い勝手の良いフリーウェアを探して利用されていると思います。というのも、時刻合わせの頻度(間隔)を簡単に変更することができるため、1時間に1回といった頻度で時刻同期処理を行い、より正確なシステム時刻になるようにすることが可能です。

しかし、Vistaに正式対応していないアプリケーションで、管理者権限を必要とする操作(\Program Files配下のファイルを操作する・システム設定を変更する等)は、ほとんどの場合意図する動作をしないことが多いです。そのため、時刻を変更する自動時刻合わせのソフトウェアもまともに動作しない場合が多々あります。

その場合、Windows標準の時刻同期処理(タスクバー上の時計をダブルクリックし、インターネット時刻のタブを開くと設定画面があります)を使えば、同期処理を難なく行うことが可能です。しかし、更新頻度がデフォルトで1週間=604800秒になっているため、次の時刻更新時には下手をすると数分くらいずれている可能性もあります。

ところが、更新頻度の設定画面が用意されていないため、ユーザは容易に変更することができませんが、下記方法にて変更することが可能です。

レジストリの設定を変更する必要があります。下手な操作をすると最悪起動しなくなることがありますので、十分注意の上作業してください。

1. レジストリエディタを起動する
「Windowsキー + R」でファイル名を指定して実行のダイアログを開き、「regedit」と入力してEnter。
2. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
\W32Time\TimeProviders\NtpClient を開く
3. SpecialPollInterval のDWORD値を変更する。
ここでの単位は秒になっています。私は1時間に1回更新しているので、その場合は3600を指定します。なお、表記部分を10進数にしてからデータを入力しましょう。

なお、上記で指定した値は、次の更新以後の更新頻度を設定するものです。そのため、最悪1週間待ってもよいですが、すぐにでも変更したい場合は下記方法を試してください。

1. タスクバーの時計をダブルクリック
2. インターネット時刻のタブをクリックし、「設定の変更」ボタンをクリック
3. 「今すぐ更新」ボタンをクリック
この作業で、次回の同期の時刻が現時刻から設定頻度の時間後になっていることを確認できます。

なお、上記はVistaに限ったことではありません。Windows XPやWindows 2000でも同様の設定が可能ですので、フリーウェアを入れるのが面倒だったりする場合は設定しておくとよいでしょう。

補足:
NTPサーバですが、デフォルトではtime.windows.comになっています。NTPサーバは近場(国内)のサーバを指定してあげるとよいでしょう。プロバイダが指定している場合は、そちらを利用しましょう。私の場合は、自分のサーバがNTPサーバになっているので、そちらを指定していますが…。