Windows 7/8.1/10 を NTPサーバーにする方法

追記:2015/10/24
Windows10 Homeでも動作確認しました。

時刻合わせに、インターネット上に公開されているNTP サーバーを使用すればよいではないか?という考え方もできますが、ローカルLAN上にあるほうが制限が少なく便利な時もあろうかと思います。

ファイルサーバーや録画サーバーがあるとかで、時刻をなるべく正確に保ちたいとか、なぜか時刻のずれが激しいので頻繁に時刻合わせをしたいとかそういう時に使えるかもしれません。また、ファイルサーバーなどでインターネットには接続できないようにしている場合などの場合にも使えるかも。

うまくいかないときのチェックポイント

・w32timeサービスが起動していない 
 管理者権限でコマンドプロンプトで、「net start w32time」を実行する
・ファイアウォールが通信を遮断している
 UDPポート123を開く

同期しようとして、タイムアウトしましたとか通信が遮断されましたとかいう場合は、上記が原因なことが多し

■本記事での動作確認
・その1
NTPサーバー側:Windows8.1 無印
クライアント:Windows7

・その2
NTPサーバー側:Windows10 Home
クライアント:Windows7

NTPサーバーにする方法

1.NTPサーバー機能の有効化
2.ファイアウォールの受信設定
3.w32timeサービスの再起動

1.NTPサーバー機能の有効化
キー:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
値:Enabled = 1
----
キー:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
値:AnnounceFlags = 5

AnnouceFlags は、通常、0x5 もしくは 0xA が設定されます。
0x5 が設定されると、自身を常に信頼できるタイム サーバーとして告知します。
SIer備忘録 AnnounceFlags の値の意味は?

レジストリエディターで2個所の値を上記のように変更してください。

レジストリエディターで「編集」→「検索」で、NtpServerでキーで検索するとよいかも
2か所のキーの値を変更する

2.ファイアウォールの受信設定
NTPサーバーのポート(UDP 123)を受信可能にします。
「コントロールパネル」->「システムとセキュリティ」->「Windows ファイアウォール」あたりにある設定です。






こんな感じで、受信許可してください。

3.w32timeサービスの再起動
管理者権限でコマンドプロンプトで、2つのコマンドを実行してください
・停止
net stop w32time

・起動
net start w32time

動作確認



LAN内の別マシンから、時刻合わせをしてみて、成功すればOKです。
タイムアウトになりました、接続できませんなどのメッセージが出るときは、失敗してるので設定を再度見直してください。

参考:[FAQ番号:010812]コンピューターの時計を合わせる(Windows Vista / Windows 7 / Windows 8 / Windows 8.1)|FAQ Search|エプソンダイレクト

時刻合わせ間隔を変更する
キー:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient
値:SpecialPollInterval = 604800

初期値は、604800秒=1週間に設定されています。
この値を変更することで、間隔を変更できます。

Windows Time(W32Time)サービスを自動起動にしておく

NTPサーバーとして使うために、自動起動に変更しておいてください。
「コントロールパネル」->「システムとセキュリティ」->「管理ツール」->「サービス」あたりの設定です。


手動(トリガ起動)に初期値はなっているかと思います。これを、自動(遅延起動)に変更してください。

参考:Windows 7 および Windows Server 2008 R2 のスタンドアロン環境で Windows Time サービスが自動的に起動しない

スポンサーリンク

コメントを残す

メールアドレスは公開されません。
また、コメント欄には、必ず日本語を含めてください(スパム対策)。