ドメインコントローラーの時刻を外部のタイムサーバーに同期させる

自分用のまとめという意味も込めてネタにします。

これ、Windows Server 2008 でも自分で設定しなければならないんですよね。
ぜひ、UI を用意してほしい機能の 1 つです。
DCPromo の延長で設定できても良いと思います。
サーバーマネージャーの中にも欲しいですよね。

文句を言っても、今はやるしかないので設定しましょう。
レジストリを操作します。
なお、外部タイムサーバーと同期するドメインコントローラーだけで操作します。
ドメイン内の 1 台の GC が適当かと思います。

  1. タイムサーバーにするドメインコントローラーのレジストリエディタで次のハイブを開く
    HKEY_LOCAL_MACHINE
     \SYSTEM
      \CurrentControlSet
       \Services
        \W32Time
         \Parameters
  2. Type という名前があるので、その値を NT5DS から NTP に変更する。
  3. NtpServer という名前があるので、その値を 外部タイムサーバーの DNS名, 0x1 にする。
    例) myntpserver.sample.com, 0x1
  4. レジストリエディタで次のハイブを開く
    HKEY_LOCAL_MACHINE
     \SYSTEM
      \CurrentControlSet
       \Services
        \W32Time
         \Config
  5. AnnounceFlags という名前があるので、その値を 5 に変更する。
    なお、AnnounceFlags 「5」の意味ですが、権限のあるタイムサーバーを表します。
  6. レジストリエディタで次のハイブを開く
    HKEY_LOCAL_MACHINE
     \SYSTEM
      \CurrentControlSet
       \Services
        \W32Time
         \TimeProviders
          \NtpServer
  7. Enabled という名前があるので、その値を 1 に変更する。
  8. サービスコントロールマネージャーから Windows Time サービスを再起動します。
    もしくは、コマンドプロンプトから
    net stop w32time && net start w32time
    で Windows Time サービスを再起動します。

他に時刻同期のタイミングを調整するレジストリもありますが、その辺のチューニングは
参考 URL をご覧になってください。

Windows Server 2008 でも同様です。