日程Fit|「いつ空いてますか?」の往復はもう不要。候補日を選んでURLを送るだけ|登録不要|今すぐ無料で使う →

Windows Server 2012 R2のPDCエミュレーターでGPOから複数Microsemi NTPを設定する方法(NtpServer書式・w32tm確認)

Windows Server 2012 R2 の PDC エミュレーターで、Microsemi(GPS/NTP)装置を冗長な同期先として設定したいのに、GPO「Configure Windows NTP Client」の NtpServer 書式でつまずくケースは少なくありません。この記事では、複数 IP の正しい書き方と、レジストリ・w32tm を使った確実な確認方法まで、運用目線で整理します。

日程Fit。無料・登録不要。「いつ空いてる?」を、ひとつのリンクで。リンクを送って、○△×でかんたん日程調整。無料で日程を作る。
目次

結論:NtpServer は「スペース(空白)区切り」。カンマは「IP(ホスト名)とフラグ」の区切り

GPO の「Configure Windows NTP Client」で指定する NtpServer は、複数サーバーをスペース(空白)で区切って並べるのが正解です。

カンマ(,)は「サーバー名(または IP)」と「フラグ(例:0x8)」を分けるために使います。つまり、サーバー同士をカンマで区切るものではありません

目的判定ポイント
複数の NTP を指定(推奨)192.0.2.10,0x8 192.0.2.11,0x8OKサーバー同士はスペース区切り
カンマでサーバー同士を区切る192.0.2.10,0x8,192.0.2.11,0x8NG解析に失敗したり、意図した動作になりにくい
フラグなしで並べる192.0.2.10 192.0.2.11非推奨明示的にフラグを付けた方がトラブルが減る

Microsemi 装置の冗長構成(2台以上)を Windows の同期先として登録したいなら、まずは 「スペース区切り + フラグ付き」で統一すると運用が安定します。

前提:Active Directory の時刻同期は「ドメイン階層(NT5DS)」が基本

Windows ドメイン環境では、通常クライアント(メンバーサーバー/PC)は外部 NTP を見に行きません。基本の考え方は次の通りです。

  • PDC エミュレーター(PDC Emulator):外部(Microsemi 等)に同期させる「根っこ」
  • その他のドメインコントローラー(DC):PDC エミュレーターから時刻を受け取る
  • ドメイン参加クライアント:DC(ドメイン階層)から時刻を受け取る(Type=NT5DS

このため、クライアント側で w32tm を見たときに「Microsemi の IP が出ない」こと自体は、異常ではなく仕様どおりであるケースが多いです。クライアントが NT5DS のまま動作しており、PDC エミュレーターが外部同期に成功していれば、結果的にクライアントも正しい時刻を DC 経由で受け取れます。

対象理想的な同期元クライアントで見える「同期元」よくある誤解
PDC エミュレーターMicrosemi(GPS/NTP)装置Microsemi の IP / FQDN複数台書いたのに 1台しか使われないのでは?
他の DCPDC エミュレーターPDC エミュレーターのホスト名DC も外部 NTP を見ないと不安
ドメイン参加クライアントDC(ドメイン階層)最寄りの DCMicrosemi の IP が表示されない=失敗

GPO で「PDC エミュレーターだけ」に外部 NTP(Microsemi)を設定する実務手順

PDC エミュレーターを特定する

まず「どの DC が PDC エミュレーターか」を確実に把握します。定番は次のどちらかです。

netdom query fsmo

または、Active Directory モジュールが使えるなら PowerShell でも確認できます。

Get-ADDomain | Select-Object PDCEmulator

PDC エミュレーターが分からないまま GPO を DC 全体に適用すると、全 DC が外部 NTP を見に行く構成になり、設計意図(階層同期)から外れやすくなります。

GPO の適用範囲を「PDC エミュレーターだけ」に絞る

おすすめは、GPO を Domain Controllers OU にリンクしつつ、セキュリティ フィルタリングで PDC だけに適用する方法です。

  • 例:セキュリティ グループ PDC-TimeSource を作成し、PDC エミュレーターのコンピューター アカウントだけを加入させる
  • GPO の「セキュリティ フィルタリング」をそのグループに限定する

この方式の利点は、将来 PDC エミュレーターの役割が別 DC に移っても、グループ メンバーを入れ替えるだけで追従できる点です(OU の構造をいじらずに済みます)。

GPO の設定箇所:「Windows Time Service」→「Time Providers」

設定パスは次のとおりです。

  • コンピューターの構成
  • ポリシー
  • 管理用テンプレート
  • システム
  • Windows Time Service
  • Time Providers

ここで主に触るのは 「Configure Windows NTP Client」です。

項目推奨値(例)意図補足
Configure Windows NTP Client有効GPO で NTP クライアント設定を強制ここが無効だと反映されない
NtpServer192.0.2.10,0x8 192.0.2.11,0x8Microsemi を冗長な同期先として登録スペース区切りが重要
TypeNTPPDC を「手動指定(外部)」で同期させるクライアントや他 DC は通常 NT5DS のまま
Enable Windows NTP Client有効NTP クライアント自体を有効化環境によっては既に有効

この時点で、GPO の「NtpServer」欄に入力すべき形が明確になります。Microsemi が複数台あるなら、台数分をスペースで連結するだけです。

NtpServer の書式をもう一段だけ理解しておく(運用で差が出るポイント)

サーバーは「スペース」で並べる

Windows Time サービスが読む NtpServer 文字列は、概ね次の構造です。

<peer1>,<flags> <peer2>,<flags> <peer3>,<flags> ...
  • <peer>:IP アドレスまたはホスト名
  • <flags>0x で始まるビットフラグ

ここで「スペース」がピアの区切りで、カンマがフラグ指定の区切りです。区切りの役割が違うので、混ぜると意図が崩れます。

よく使うフラグ(0x8 / 0x9 など)

フラグはビットマスクで、複数の意味を合成できます。現場でよく出るものを、運用で迷わない範囲に絞ってまとめます。

フラグ意味(ざっくり)使いどころ
0x8クライアント モードで問い合わせ外部 NTP を「同期先」として扱いたい192.0.2.10,0x8
0x1SpecialPollInterval を使う(固定間隔寄り)ポーリング間隔を明示的に管理したい192.0.2.10,0x1
0x90x8 + 0x1(合成)クライアントモード + 特別ポーリングを両立したい192.0.2.10,0x9

Microsemi 装置を同期先にするだけなら、まずは 0x8 で始めるのが分かりやすいです。もし「監査要件で 3600 秒ごとに取りたい」など間隔を固定したい意図があるなら、0x9 を使い、併せて SpecialPollInterval を GPO で管理する、といった設計にすると説明責任を果たしやすくなります。

「反映されたか?」はレジストリ単体で判断しない。w32tm を主軸にする

GPO を使うと、設定は「ポリシー用のレジストリ領域」に書かれ、実際の動作は Windows Time サービスがポリシーを読み込んで決まります。そのため、よくある落とし穴が次のパターンです。

  • ポリシー側(Policies)には入っているのに、Parameters 側だけ見て「入ってない」と判断してしまう
  • 逆に、Parameters は古い値のままでも、実際は GPO が優先されて動いている

だからこそ、確認は w32tm の出力を軸にするのが確実です。

確認観点と「見る場所」の対応表

確認したいことおすすめの確認手段補足
GPO が効いているか(NtpServer / Type が期待どおりか)w32tm /query /configuration「(Policy)」と出ればポリシー由来
複数の同期先が登録されているかw32tm /query /peers候補が一覧で出る
今この瞬間、どれと同期しているかw32tm /query /source1つだけ表示されるのが普通
状態(Stratum、最終同期、オフセットなど)w32tm /query /status同期できているかの一次判断に便利
レジストリでポリシー値を直接見たいHKLM\SOFTWARE\Policies\Microsoft\W32Time\...「ポリシーが入っている」確認
従来の設定値(ローカル設定)を見たいHKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parametersローカル設定の確認(GPO が優先されることに注意)

w32tm での具体的な確認手順(PDC/DC/クライアントで見え方が違う)

PDC エミュレーターでやること(外部 NTP が見えているか)

まずは GPO の反映を促して、サービスを再読み込みさせます。運用ポリシーに合わせて実施してください。

gpupdate /force

必要に応じて Windows Time サービスを再起動します。

net stop w32time
net start w32time

同期を明示的に要求します。

w32tm /resync /rediscover

次に、設定が期待どおりか確認します(最重要)。

w32tm /query /configuration

ここで見るポイントは次の 2つです。

  • NtpServer に Microsemi の IP がスペース区切りで並んでいる
  • Type が NTP(手動同期)になっている

同期先候補の一覧も確認します。

w32tm /query /peers

最後に「いま同期している相手」を見ます。

w32tm /query /source

ここは 1つしか表示されないのが普通です。複数の Microsemi を指定していても、「現在の同期元」はその時点で選ばれた 1台になります。冗長化は「候補を複数持つ」「切替できる」ことに価値があり、常に全台へ同時同期するわけではありません。

他の DC/クライアントでやること(NT5DS が正常か)

他の DC やクライアントでは、同期元が Microsemi ではなく「ドメイン」になっているのが自然です。確認は次で十分です。

w32tm /query /source
w32tm /query /status

/source に DC 名が出て、/status で同期が継続しているなら、PDC → DC → クライアントという階層が機能している可能性が高いです。

「レジストリに反映されるべき?」への実務的な答え

質問として多いのが、「GPO で設定したのだから HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters にも同じ値が入るはずでは?」という点です。

実務的には、次のように整理すると混乱が減ります。

  • GPO の値は主に Policies 側に入る(=「ポリシーとしての意図」)
  • 実際の動作の正解は w32tm の出力(=「サービスが読み込んだ結果」)
  • Parameters 側は「ローカル設定」の領域で、GPO 運用では必ずしもここだけを見て判断できない

つまり、レジストリの一箇所だけを“正”と決め打ちしないのがポイントです。最終的に時刻同期は「動いているか」がすべてなので、w32tm /query /configurationw32tm /query /source の両方で整合が取れているかを見ます。

よくあるつまずきと対処(Microsemi 複数指定の現場で多い)

カンマ区切りでサーバーを並べてしまう

「複数だからカンマで列挙」と思いがちですが、Windows の NtpServer はそうではありません。サーバー間はスペースで直してください。

Type が NT5DS のままで、外部 NTP を見に行っていない

PDC エミュレーターに外部 NTP を持たせたいのに、Type=NT5DS のままだと、ドメイン階層を優先して外部同期が効かない(または期待どおりにならない)ことがあります。

GPO の「Configure Windows NTP Client」で Type=NTP を明示し、w32tm /query /configuration で (Policy) になっているか確認します。

UDP 123 が通っていない(ファイアウォール/ACL/経路)

Microsemi 装置が別セグメントにある場合、ルーティングや ACL で UDP 123 が落ちていることがあります。疎通の一次確認には stripchart が便利です。

w32tm /stripchart /computer:192.0.2.10 /samples:5 /dataonly
w32tm /stripchart /computer:192.0.2.11 /samples:5 /dataonly

応答が返り、オフセットが大きく暴れないなら「通信は成立している」可能性が上がります。

仮想環境の時刻同期機能が上書きする

PDC エミュレーターが仮想マシンの場合、Hyper-V や VMware の「ホストとゲストの時刻同期」が意図せず効いていると、外部 NTP と競合して挙動が不安定に見えることがあります。時刻同期の責務をどこに持たせるか(ホスト側か、ゲスト OS の NTP か)を設計として決め、混在を避けるのがコツです。

GPO が PDC に当たっていない(スコープ/権限/フィルタ)

セキュリティ フィルタリングで PDC だけを対象にした場合、次を重点的に確認します。

  • 対象グループに PDC のコンピューター アカウントが入っているか
  • GPO の「読み取り」と「適用」が許可されているか
  • gpresult で該当 GPO が適用済みになっているか
gpresult /h C:\Temp\gpresult.html

運用のコツ:複数 Microsemi 指定を“意味のある冗長化”にする

複数の NTP サーバーを指定したとき、Windows は常に全台と同時に同期するわけではありません。だからこそ、次のような運用観点を入れると「複数指定した意味」が出ます。

  • 監視は「source が切り替わること」を前提にする(片系メンテナンス時でも同期が継続するのが理想)
  • 時刻差の監視(オフセットが一定以上ならアラート)
  • Microsemi 側の状態(GPS 捕捉/Stratum など)も合わせて見る

特に PDC エミュレーターはドメイン全体の時刻の根になるため、同期が止まってもすぐに気付ける体制(イベントログ監視、定期的な w32tm /query /status 取得など)を作ると安心です。

まとめ(この手順で迷いが消える)

  • GPO「Configure Windows NTP Client」の NtpServer は、複数サーバーをスペース区切りで指定する
  • カンマは「サーバー」と「フラグ(0x8 など)」の区切り。サーバー同士の区切りではない
  • 確認はレジストリの一箇所に依存せず、w32tm /query /configuration を主軸にする
  • クライアントは通常 NT5DS でドメイン階層同期。Microsemi の IP がクライアントで見えなくても正常なことが多い

参考リンク

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次