NTP クライアント(Windows) の設定


● Windows 9x / Me / NT の設定

NTP プロトコルが使用できないため、 NTP、SNTP クライアントのソフトを導入する必要がある。それほど、精度を気にしなければ、「net time」のコマンドを使用して時間を合わせることができる。

コマンドプロンプトにて、

c:\>net time \\サーバ名 /set /yes

と入力する。すると、サーバの時間を取ってくる。
/set オプションは時間を合わせるかどうかを意味する。
/yes オプションは時間を合わせるかどうかの問い合わせに対して、「Yes (時間を合わせる)」と返答したことを意味する。

タスク・スケジューラ等で1日に数回、実行して時間を合わせる。または、 Windows NT の場合、
サーバの %SystemRoot%\system32\Repl\Import\Scripts の下に下記のようなバッチファイルを作成し、
 例えば Net_time.bat と言う名称で
  net time \\サーバ名 /set /yes

 ログが必要であれば、
  echo %computername% >> \\サーバ名\ディレクトリ名\LOGIN.log
  net time \\サーバ名 /set /yes
  echo end

「ドメインユーザマネージャ」→指定のユーザの「ユーザーのプロパティ」→「プロファイル」の中の「ログオン スクリプト」にバッチファイルの名称を登録する。ユーザがログオンする都度、バッチファイルが実行され時間が合わせられる。多くのクライアントを管理する場合に、クライアント側の設定を変更せずに時間が合わせらます。

私は Windows NT のマシンに対して、この設定を行って運用しています。

● Windows 2000 の設定 (2002/1/11 変更)

Windows 2000 には、 Windows Times という SNTP クライアントが用意されている。 LAN 環境下で使用するのであれば、問題は少ないと思う。

ただし、クライアントは、時刻源となるサーバとしては、クライアントが所属するドメインの PDC FSMO (Primary Domain Controller Flexible Single Operation)の役割を持つドメイン・コントローラに接続しようとします。
(一般的には Active Directory 内で一番最初に作成したドメイン・コントローラ)
その為、
ドメイン・コントローラが PDC FSMO でない(Active Directory を使用していない、または、Windows NTなどの時)場合は使用できない。また、外部の時刻源に参照できるのは、PDC FSMO の役割を持つドメイン・コントローラのみである。

故に、Windows2000 で下記の環境が構築できるのは、ドメインコントローラが Windows2000 Server で Active Directory が稼働している状態か、Windows NT で W32Time サービスへのアップグレードを行った場合のみだけである。

NET TIME コマンドで SNTP タイム サーバーを設定後メッセージ (Microsoft)

NT4.0ドメイン内のWindows2000/XPコンピュータの時刻を同期させる方法 (Microsoft)

基準となる時刻源サーバを用意し、そのサーバに対して時間を合わせる。(私としては Windows2000 のこの機能を使用して、Windows 2000 Server 間の時刻源サーバを用意するのは勧めない。「NTPサーバ立ち上げまでの道」 の中で記述したとおり、「 SNTP は NTP の機能限定版なので階層の末端でのみ使用されることが推奨されている。」 からである。)

コマンドプロンプトにて

net time /setsntp:サーバ名

と入力して、サーバを指定する。
ドメイン・コントローラのみ外部の時刻源を参照できるが、信頼できる時刻源がない場合には、自分自身を指定する。

「管理ツール」→「サービス」で「Windows Time」を「スタートアップの種類」を「自動」に変更し、「状態」を「開始」にする。

どの NTP サーバを指定したかなど、設定の内容を確認するには、

コマンドプロンプトにて

net time /querysntp

と入力すると、設定内容が表示される。

● Windows 2000 上での動き

「Windows Time」サービス起動すると、現在の時刻をチェックし、ずれがあればローカルのシステム時刻情報が修正される。ローカルの時刻が正確な時刻よりも遅れているか、3分以上進んでいる場合はすぐにローカルのシステム時刻の修正が行われる。3分以内の進みならば、ローカルのシステム・クロックの進み方を遅らせて、数分かけて徐々に正確な時刻に近づける。その後は数十分〜数時間ごとに基準時刻とのずれを調べ、必要ならば修正が行われる。(時間が後戻りするわけには行かないので)
システムが安定してくると、8時間ごとにチェックしに行く。

Windows Time サービスの基本処理 (Microsoft)

● その他の方法 (2002/1/15 変更)

SNTP の機能を持った、フリーウェア、シェアウェアがあるので、それを使用します。私が使用した代表的な物は下記のソフトウェアです。

AdjustPC
NTのサービスとして稼働し、SNTP サーバとしも稼働します。

ピッタリでチュ! (シェアウェア)
NTのサービスとして稼働し、SNTP サーバとしも稼働します。また、時間の誤差をグラフで表示したり、時間で PC のシャットダウン等ができます。

AdjustClock
NTP,SNTPプロトコルが使用出来ないようなプロキシー接続環境にて、HTTPプロトコルにて時間の同期を取ります。

TClock
SNTPクライアント機能を持った、Windowsのタスクバーの時計を改造するプログラム。ディスクトップの改造が好きな方にはいいかも。

私は、時刻源サーバと同一の LAN 環境下のサーバ、クライアントについては「AdjustPC」を入れて運用しています。WAN 環境下のサーバ、クライアントについては上記で説明した「Windows 9x / Me / NT の設定」の設定で運用しています。
ただ、私の PC には「TClock」を入れています。



注意 : これは、私個人の覚え書きであり、何も保証するもではありません。自己責任でお読み下さい。
Create:2001/12/27   Last modified:2009/10/02
Copyright (c) 2001-2013 Yoshi All Rights Reserved