ネットワークを活用していく上で,複数のパソコンやサーバーの間で時刻設定がずれていると問題が起きることがあります。例えば,メールを送受信した時間やファイルを操作した時間がずれていると,あとで確認する際に不具合が生じます。時刻情報に依存するプログラム(Kerberosなど)を利用しているActive Directory環境などで,問題が起きる可能性もあります。そのため,すべてのパソコンの時刻設定を揃えておくことが重要です。

 Windows 2000以降のWindowsパソコンでは,Windows Timeサービスという時刻同期のサービスを標準で装備しています。このため,Windows 2000以降は必要な設定をすれば,自動的にインターネット上のNTPサーバーなどと時刻を同期してくれます。ただし,場合によっては手動で強制的に時刻を同期したい場合もあります。このようなときには,w32tmコマンドを使って「w32tm /resync」と実行します(図1)。

図1●Windows XPで時刻を手動で同期した画面
図1●Windows XPで時刻を手動で同期した画面
[画像のクリックで拡大表示]

 なお,ネットワーク構成が変わって,設定済みのNTPサーバーにアクセスできなくなった場合には,「w32tm /resync /rediscover」と/rediscoverオプションを加えることで,完全にリセットした状況で同期を実行することができます(図2)。

図2●Windows XPで設定をリセットして時刻を同期した画面
図2●Windows XPで設定をリセットして時刻を同期した画面
[画像のクリックで拡大表示]

 Windows NT/9x/Meといった古いWindowsでは,Windows Timeサービスが実装されていません。このようなOSで時刻設定を合わせたい場合は,net timeコマンドを利用します。ドメイン環境で使っている場合は,「net time /set /y」と/set /yオプションを付加すればドメイン・コントローラの時刻に同期します(図3)。

図3●ドメイン環境のWindows NTで時刻を同期した画面
図3●ドメイン環境のWindows NTで時刻を同期した画面
[画像のクリックで拡大表示]

 ドメインではなくワークグループ環境で利用している場合は,時刻を同期させるためにユーザー認証が必要です。具体的には,Windows NTではnet useコマンドと併用してnet timeコマンドを実行します(図4)。

図4●ワークグループ環境のWindows NT で時刻を同期した画面
図4●ワークグループ環境のWindows NT で時刻を同期した画面
[画像のクリックで拡大表示]

 なお,Windows 9x系では「Administrator」ユーザーでログオンをしてから,以下のコマンドを一回ずつ実行します(図5)。ただし,「Administrator」ユーザーでログオンしていて,相手先のAdministratorとパスワードが同じであれば,1行目のコマンド(net use)は必要ありません。

net use \\コンピュータ名\c$ 相手先Administratorのパスワード
net time \\コンピュータ名 /set /y

図5●ワークグループ環境のWindows 98で時刻を同期した画面
図5●ワークグループ環境のWindows 98で時刻を同期した画面
[画像のクリックで拡大表示]

 net timeについての詳細はこちら,w32tmについての詳細はこちらをご覧ください。