ドメインコントローラの時刻同期

 

PDCエミュレータの役割を持つドメインコントローラをセットアップすると、イベントログに以下のようなイベントID 12が記録される。


タイム プロバイダ NtpClient: このコンピュータは、ドメイン階層を使ってタイムソース を決定するように構成されていますが、フォレストのルートにあるドメイン用の PDC エミュレータであるため、ドメイン階層のその上にはタイム ソースとして使用する コンピュータがありません。ルート ドメインの信頼できるタイム サービスを構成するか、 または手動で PDC を構成して外部のタイム ソースと同期させることをお勧めします。 そうでない場合、このコンピュータはドメイン階層内の権限のあるタイム ソースとして 機能します。外部のタイム ソースが構成できない場合、またこのコンピュータで使用で きない場合は、NtpClient を無効にすることをお勧めします。

タイムサーバはデフォルトの「time.windows.com」を指定しているが、上記イベントが発生することから考えると、time.windows.comは「Client Mode」の要求しか受け付けないようだ。
※もちろんタイムサーバはtime.windows.comじゃなくてもいい。むしろ、商用環境ではtime.windows.comじゃない方がいい。レスポンスがないことが多々ある・・。

設定方法はいろいろあるようだが、今回はドメインコントローラ上でレジストリの値を修正して対処した。

1、ドメインコントローラ上でregedit

2、HKEY_LOCAL_MACHINEの\SYSTEM\CurrentControlSet\Services\W32Time\ParametersのTypeの値を、NT5DSからALLSyncに修正

3、HKEY_LOCAL_MACHINEのSYSTEM\CurrentControlSet\Services\W32Time\ParametersのNtpServerの値を、time.windows.com,0x1からtime.windows.com,0x8に修正
※末尾のフラグは0x1だと方式が「Symmetric Active/Passive Mode」、0x8だと「Client/Server Mode」となるらしい。ちなみに、0x2では時刻同期されなかった。http://network.station.ez-net.jp/report/servers/ntp/ntp-windows.asp

4、ドメインコントローラ上のプロンプトでnet stop w32time

5、ドメインコントローラ上のプロンプトでnet start w32time

6、ドメインコントローラ上のプロンプトでw32tm /resync

同期結果。

C:\>w32tm /resync
再同期のコマンドを送信: local computer...
コマンドは正しく完了しました。