連載
» 2006年01月28日 05時00分 UPDATE

Tech TIPS:時刻を手動で直ちに同期させる

異なるネットワーク環境間でのコンピューターの移動など、時刻をすぐに同期させたいことがある。時刻の自動同期の間隔はデフォルトでは1週間である。GUIとコマンドプロンプトで時刻同期をすぐに行う方法がある。

[デジタルアドバンテージ,著]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows XP/Windows Server 2003



解説

 あるドメインから別のドメインにコンピューターを移動した際に、ドメイン間で時刻が同期されていないと、微妙な時差が生じてしまうことがある。例えば正確なタイムスタンプを要求するような業務アプリケーションを利用している場合は、微妙な時差が多大な影響を及ぼす危険性もある。また、ルーターやサーバーのリプレイスで、正常にタイムサーバーと同期できるかを確認したい場合もある。このような場合は、所属するネットワークの標準時刻に手動で同期させるのがよいだろう。

 時刻同期のプロトコルや仕組みについての詳細は関連記事をご覧いただきたいが、ネットワークで時刻を同期するためのプロトコルとしてSNTPNTPがある。NTPは階層的で大規模な時刻情報の管理を行うためのプロトコルで、SNTPはクライアント側の時刻設定を目的としたNTPのサブセットに当たるプロトコルである。これとは別にMS-DOSやWindows 95といった古いOSでも利用できるWindows OSのファイル共有サービス(SMBプロトコル)を使った時刻同期の仕組みもある。

 Windows OSには、ドメインとワークグループで多少の違いはあるが、タイムサーバーから時刻情報を取得してローカルの時計を設定するための方法がいくつか用意されている。ここでは、GUIでの設定方法とコマンドプロンプトからの設定方法を解説する。

操作方法

 時刻を即座に同期するには、GUIとコマンドラインでの操作法がある。まず、ワークグループ環境でのみ利用できるGUIでの設定方法から説明する。

●GUIでの時刻同期(ワークグループのみ)

 ワークグループで作業している場合、GUIでの時刻同期が可能である。コントロールパネルやタスクトレイの時計から[日付と時刻のプロパティ]を起動し、[今すぐ更新]ボタンをクリックする。

日付と時刻のプロパティ 日付と時刻のプロパティ
[コントロール パネル]−[日付と時刻]あるいはタスクトレイの時計をダブルクリックして、[日付と時刻のプロパティ]を起動する。すぐに更新する場合には、タイムサーバーのURLを確認してから、[今すぐ更新]ボタンをクリックする。
  (1)[インターネット時刻]タブを開く。
  (2)このチェックボックスを有効にすると、1週間に1度、設定されたタイムサーバーを使って時刻を設定する。デフォルトで有効に設定されている。
  (3)同期するタイムサーバーのURLを指定する。すでにいくつかのタイムサーバーが登録されている。
  (4)すぐに更新する場合には、ここをクリックする。
  (5)タイムサーバーとの同期に成功したか、失敗したか、といった情報が表示される。
  (6)一定間隔(デフォルトでは1週間)での時刻同期が次に行われるローカル時間が表示される。

●net timeコマンドでの時刻同期

 Windows OSだけで構成されたLANやドメイン環境では、net timeコマンドで時刻同期を行うことが可能だ。その際に参照するタイムサーバーは、ドメインにログオンしている場合はプライマリドメインコントローラー(PDC)となる。

 ドメインにログオンした状態で時刻同期を行うには、以下の例のように実行する。

C:\>net time /set
\\SERVER01 の現在の時刻は 2006/01/26 21:37 です ……ドメインにログオンしているので、参照するタイムサーバーはPDCである\\server01がデフォルトである

ローカル コンピューターの現在の時刻は 2006/01/26 21:37 です
ローカル コンピューターの時刻を
\\SERVER01 と合わせますか? (Y/N) [Y]: y ……このタイムサーバーと同期してよければ「y」を入力するかEnterキーを入力する
コマンドは正常に終了しました。



 この場合、「\\SERVER01」が参照するタイムサーバーである。ドメインにログオンしているがPDC以外のタイムサーバーを利用したい場合や、ワークグループでタイムサーバーを指定して時刻を同期したい場合は、以下のように明示的に参照するタイムサーバーを指定して時刻同期を行う。

C:\>net time \\10.20.1.12 /set ……「\\10.20.1.12」が参照するタイムサーバーの名前
\\10.20.1.12 の現在の時刻は 2006/01/26 21:33 です

ローカル コンピューターの現在の時刻は 2006/01/26 0:00 です
ローカル コンピューターの時刻を
\\10.20.1.12 と合わせますか? (Y/N) [Y]: y
コマンドは正常に終了しました。



 「Y/N」の確認メッセージが不要であれば、以下のように「/yes」を付けて実行すると、すぐに同期させることができる。

C:\>net time \\タイムサーバー名 /set /yes



 net timeコマンドは、Windows OSネットワーク独自の同期用プロトコルを利用しているため、参照するタイムサーバーがWindows OSで運用されている必要がある(あるいはSambaサービスを実行しているUNIX系OSでもよい)。

●w32tmコマンドでの時刻同期

 net timeコマンドがSMBプロトコルによる時刻同期を行っていたのに対し、w32tmコマンドは、NTP(SNTP)プロトコルによって同期を行う。w32tmコマンドは、Windows Timeサービス(W32Time)を制御するための外部コマンドである。W32Timeの動作に関わるレジストリの設定や、きめ細かい操作が可能となっている。LAN内のタイムサーバーだけでなく、インターネット上のサーバーと時刻を容易に同期できる。w32tmコマンドを利用して同期を行うには、以下のように実行すればよい。

C:\>w32tm /resync /nowait ……再同期(resync)を即時に(nowait)実行するようオプションに指定
再同期のコマンドを送信:  local computer...
コマンドは正しく完了しました。



 w32tmコマンドでのデフォルトの同期先タイムサーバーは、ワークグループでは「time.windows.com」、ドメインではドメイン内で時刻を同期できるサーバー(通常はフォレストルートドメインのPDC操作マスター)となる。時刻同期する際に参照するタイムサーバーを指定するには、以下のように実行する。

C:\>w32tm /config /manualpeerlist:タイムサーバーのアドレス
C:\>w32tm /update



 あるいは、次のようにnet timeコマンドを使ってSNTPサーバーを指定することも可能だ。設定が終わったら、「w32tm /resync」を実行すれば指定したSNTPサーバーを参照して同期される。

C:\>net time /setsntp:タイムサーバーのアドレス



■関連記事(Windows Server Insider)


「Tech TIPS」のインデックス

Tech TIPS

Copyright© 1999-2017 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。