<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Windows Server | インフラエンジニアへの道</title>
	<atom:link href="https://www.seichan.org/tag/windows-server/feed" rel="self" type="application/rss+xml" />
	<link>https://www.seichan.org</link>
	<description>DNSからAWSの設計まで、インフラの基礎を連載で</description>
	<lastBuildDate>Sat, 31 Oct 2026 09:12:47 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>

<image>
	<url>https://www.seichan.org/blog/wp-content/uploads/2026/10/site-icon-2026-150x150.png</url>
	<title>Windows Server | インフラエンジニアへの道</title>
	<link>https://www.seichan.org</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【NTP入門 第5回】Windowsの時刻同期 ― W32Time、ADドメインの時刻の階層、PDCエミュレーターの設定、w32tmの読み方、高精度の時刻同期</title>
		<link>https://www.seichan.org/2026/10/ntp-05-windows.html</link>
					<comments>https://www.seichan.org/2026/10/ntp-05-windows.html#respond</comments>
		
		<dc:creator><![CDATA[seichan]]></dc:creator>
		<pubDate>Fri, 30 Oct 2026 21:00:00 +0000</pubDate>
				<category><![CDATA[NTP サーバー]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Kerberos]]></category>
		<category><![CDATA[NTP]]></category>
		<category><![CDATA[w32tm]]></category>
		<category><![CDATA[Windows Server]]></category>
		<category><![CDATA[時刻同期]]></category>
		<guid isPermaLink="false">https://www.seichan.org/blog/?p=7035</guid>

					<description><![CDATA[Windowsの時刻同期を担うWindows Time サービス（W32Time）を解説します。ADドメインの時刻の階層とフォレストルートのPDCエミュレーター、同期の種類（Type）と既定値、PDCエミュレーターの設定手順、w32tm /query /status・/peers・/stripchart・/resyncの読み方、Windows Server 2016以降の高精度の時刻同期、グループポリシー、仮想マシンのDCとPDCエミュレーターを移したときの注意まで。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「ADのドメインコントローラーを入れ替えたら、しばらくしてドメイン全体の時刻が少しずつずれ始めました」<br>「<code>w32tm /query /source</code>を打ったら『Local CMOS Clock』と出ました。これは正常ですか？」</p>



<p class="wp-block-paragraph">Windowsの時刻同期は、<strong>ADドメインの階層</strong>に沿って自動で流れます。便利な反面、<strong>頂点の1台の設定</strong>を忘れると、ドメイン全体がずれていきます。</p>



<p class="wp-block-paragraph">第4回ではLinuxのchronyを見ました。第5回では、<strong>Windows Time サービス（W32Time）</strong>と、ADドメインの時刻の階層、<code>w32tm</code>での確かめ方を扱います。</p>


<div class=".for-sp">
<div id="im-5078de7a65f140ac9d12a50b8ac9ee9c">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567719,asid:1946055,type:"banner",display:"inline",elementid:"im-5078de7a65f140ac9d12a50b8ac9ee9c"})</script>
</div>
</div>

<div class=".for-pc">
<!-- admax -->
<script src="https://adm.shinobi.jp/s/8ae3a18ff526e95e579f5814fddd88f6"></script>
<!-- admax -->
<!--
<div id="im-3931cf74888b4888ae5fb170df744749">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567718,asid:1946233,type:"banner",display:"inline",elementid:"im-3931cf74888b4888ae5fb170df744749"})</script>
</div>
-->
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Windows Time サービス（W32Time）の役割と精度</a></li><li><a href="#toc2" tabindex="0">ADドメインの時刻の階層</a></li><li><a href="#toc3" tabindex="0">同期の種類（Type）と既定値の違い</a><ol><li><a href="#toc4" tabindex="0">ずれの大きさと直し方</a></li></ol></li><li><a href="#toc5" tabindex="0">フォレストルートのPDCエミュレーターを設定する</a></li><li><a href="#toc6" tabindex="0">状態を確かめる</a><ol><li><a href="#toc7" tabindex="0">w32tm /query /status</a></li><li><a href="#toc8" tabindex="0">/source・/peers・/configuration</a></li><li><a href="#toc9" tabindex="0">w32tm /stripchartと/resync</a></li></ol></li><li><a href="#toc10" tabindex="0">高精度の時刻同期（Windows Server 2016以降）</a></li><li><a href="#toc11" tabindex="0">グループポリシーでの設定とワークグループの端末</a></li><li><a href="#toc12" tabindex="0">仮想マシンのDCと、PDCエミュレーターを移したとき</a><ol><li><a href="#toc13" tabindex="0">PDCエミュレーターを移したら</a></li></ol></li><li><a href="#toc14" tabindex="0">考えてみよう</a></li><li><a href="#toc15" tabindex="0">まとめ</a></li><li><a href="#toc16" tabindex="0">連載「NTP入門」全11回</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Windows Time サービス（W32Time）の役割と精度</span></h2>



<p class="wp-block-paragraph">Windowsの時刻同期は、<strong>Windows Time サービス（W32Time）</strong>が担います。NTPのクライアントとサーバーの両方の機能を持ち、UDP 123で通信します。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/ntp05-s057.png" alt="W32Timeは時刻を受け取るNtpClientと時刻を配るNtpServerを持ち、ドメイン参加の端末はドメインのDCからMS-SNTP（認証付き）で、ワークグループの端末はtime.windows.comからNTPで時刻を受け取り、DCのときはPC・メンバーに配ることと、既定はKerberosの5分に足りる精度で、2016以降の高精度の設定で1秒・50ms・1msまで上げられることを示す図"/></figure>



<ul class="wp-block-list">
<li>もともと<strong>Kerberos認証の許容範囲（既定で5分）</strong>（連載「Kerberos入門」第4回）に時刻を収める目的で作られたため、既定の設定は「Kerberosに足りる程度にゆるく合わせる」もの</li>


<li>2012 R2以前はそれ以上の精度をサポートしないが、<strong>Windows Server 2016とWindows 10（1607）以降</strong>は、条件を満たせば1秒、50ms、1msの精度をサポートする</li>


<li>ドメインのメンバーはドメインコントローラー（DC）から<strong>MS-SNTP</strong>という認証付きの方式で時刻を受け取り、ドメインに参加していない端末は既定で<strong>time.windows.com</strong>と同期する</li>
</ul>



<p class="wp-block-paragraph">受け取るのも配るのも同じサービスで、精度は設定で上げるのです。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc2">ADドメインの時刻の階層</span></h2>



<p class="wp-block-paragraph">ADドメインでは、時刻の流れ（階層）が自動で決まります。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/ntp05-s058.png" alt="外部の時刻源（社内のNTPサーバー）をフォレストルートcorp.example.jpのPDCエミュレーターDC01にType=NTPで手動設定し、ほかのDC、PC・メンバーサーバー、子ドメインbranch.corp.example.jpのPDCエミュレーター、DC、PC・メンバーがNT5DSで階層に従うことと、設定を忘れると内蔵時計が基準になり全体がずれることを示す図"/></figure>



<ul class="wp-block-list">
<li>クライアントとメンバーサーバーは、認証を受けたDC（原則として同じサイトのDC）を時刻源にする</li>


<li>DCは、そのドメインの<strong>PDCエミュレーター</strong>（FSMOの役割の1つ。連載「Active Directory入門」第4回）や親ドメインのDCを時刻源にし、子ドメインのPDCエミュレーターは親ドメインのDCを参照する</li>


<li>たどっていくと、最上位は<strong>フォレストルートドメインのPDCエミュレーター</strong>。この1台だけは上位のDCが無いため、<strong>外部の信頼できる時刻源（社内のNTPサーバーなど）と同期するよう手動で設定</strong>する</li>
</ul>



<p class="wp-block-paragraph">設定を忘れると、PDCエミュレーターは自分の内蔵時計（<strong>Local CMOS Clock</strong>）を基準にし、フォレスト全体が少しずつずれていきます。冒頭の「DCを入れ替えたらずれ始めた」は、このパターンです。階層に従うこの方式を<strong>NT5DS</strong>と呼び、ドメインのメンバーの既定です。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc3">同期の種類（Type）と既定値の違い</span></h2>



<figure class="wp-block-table"><table><thead><tr><th>Type</th><th>意味</th><th>既定になる環境</th></tr></thead><tbody><tr><td>NT5DS</td><td>ドメインの階層に従う</td><td>ドメインのメンバー（DC を含む）</td></tr><tr><td>NTP</td><td>NtpServer に書いたサーバーと同期する</td><td>ワークグループ。ルートの PDC エミュレーターは手動でこれにする</td></tr><tr><td>AllSync</td><td>階層と NtpServer の両方を使う</td><td>—</td></tr><tr><td>NoSync</td><td>同期しない</td><td>—</td></tr></tbody></table></figure>



<figure class="wp-block-table"><table><thead><tr><th>設定（レジストリ）</th><th>DC</th><th>ドメインのメンバー</th><th>ワークグループ</th></tr></thead><tbody><tr><td>NtpServer</td><td>（なし）</td><td>（なし）</td><td>time.windows.com,0x1</td></tr><tr><td>MaxPos／MaxNegPhaseCorrection</td><td>172,800秒（48時間）</td><td>0xFFFFFFFF（常に直す）</td><td>54,000秒（15時間）</td></tr><tr><td>MaxAllowedPhaseOffset</td><td>300秒</td><td>300秒</td><td>1秒</td></tr><tr><td>Min／MaxPollInterval</td><td>6／10（64〜1,024秒）</td><td>10／15（1,024〜32,768秒）</td><td>10／15</td></tr><tr><td>UpdateInterval</td><td>100</td><td>30,000</td><td>360,000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">NtpServerのサーバー名の後ろのフラグは、<strong>0x1</strong>がSpecialPollIntervalの間隔で問い合わせる、<strong>0x2</strong>が予備（UseAsFallbackOnly）、<strong>0x4</strong>がsymmetric active、<strong>0x8</strong>がクライアントモードです。外部のNTPサーバーには<strong>0x8を付けるのが一般的</strong>です。</p>



<h3 class="wp-block-heading"><span id="toc4">ずれの大きさと直し方</span></h3>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/ntp05-x-phase.png" alt="DCはMaxAllowedPhaseOffsetの300秒まではslew、そこから48時間まではstep、48時間を超えると直さず、ドメインのメンバーは300秒まではslewでそれ以上はstepで上限がなく、ワークグループは1秒まではslew、15時間まではstep、それを超えると直さないことと、DCが48時間以上ずれると自動では戻らずイベントを記録するだけであることを示す図"/></figure>



<ul class="wp-block-list">
<li><code>MaxAllowedPhaseOffset</code>以下のずれはslewで少しずつ、超えるずれはstepで一気に合わせる</li>


<li><code>MaxPos／MaxNegPhaseCorrection</code>を<strong>超えるずれは直さず、イベントを記録するだけ</strong>。スナップショットの復元やRTCの電池切れで大きくずれたDCは、自動では戻らない（手順は第10回）</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc5">フォレストルートのPDCエミュレーターを設定する</span></h2>



<pre class="wp-block-code"><code>PS&gt; (Get-ADDomain -Identity (Get-ADForest).RootDomain).PDCEmulator
DC01.corp.example.jp
PS&gt; w32tm /config /manualpeerlist:&quot;ntp1.corp.example.jp,0x8 ntp2.corp.example.jp,0x8 ntp3.corp.example.jp,0x8&quot; /syncfromflags:manual /reliable:yes /update
PS&gt; net stop w32time; net start w32time
PS&gt; w32tm /resync /rediscover
PS&gt; w32tm /query /source
ntp1.corp.example.jp,0x8</code></pre>



<ul class="wp-block-list">
<li>まず、<strong>PDCエミュレーターを持つDCを確かめる</strong>（<code>netdom query fsmo</code>でもよい）。設定するのはこの1台だけ</li>


<li><code>/manualpeerlist</code>：外部の時刻源。空白で区切り、全体を引用符で囲む。<strong>3台以上を指定</strong>する（2台なら片方に0x2を付けて予備にする。第3回）</li>


<li><code>/syncfromflags:manual</code>：TypeをNTPにし、階層ではなくリストのサーバーに従わせる</li>


<li><code>/reliable:yes</code>：「信頼できる時刻源」としてドメインに知らせる（DCでだけ意味がある）</li>


<li><code>/update</code>：設定をサービスに知らせる。確実に反映するため、サービスを再起動して<code>/resync /rediscover</code>で同期し直す</li>


<li>外部へUDP 123で出られることを確かめる。<code>Test-NetConnection</code>はUDPを試せないため、<code>w32tm /stripchart</code>を使う</li>
</ul>


<div class=".for-sp">
<div id="im-c929b2770f964f7f88505b9ee7500db9">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567719,asid:1946057,type:"banner",display:"inline",elementid:"im-c929b2770f964f7f88505b9ee7500db9"})</script>
</div>
</div>

<div class=".for-pc">
<!-- admax -->
<script src="https://adm.shinobi.jp/s/a1cf34f40c7d6f1acda2feeee1bc3a16"></script>
<!-- admax -->
<!--
<div id="im-3b5a2348efcc4b7a9435e1334f6172f2">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567718,asid:1946056,type:"banner",display:"inline",elementid:"im-3b5a2348efcc4b7a9435e1334f6172f2"})</script>
</div>
-->
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc6">状態を確かめる</span></h2>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/ntp05-x-w32tm.png" alt="w32tmを調べる（/query /source・/status・/peers・/configuration、/monitor /domain）、測る（/stripchart /computer、時計は変えずUDP 123の疎通確認にも使える）、直す（/resync、/resync /rediscover）、設定する（/config /manualpeerlist、/syncfromflags:manual・domhier、/reliable:yes、/update）の4つに分けた早見表"/></figure>



<h3 class="wp-block-heading"><span id="toc7">w32tm /query /status</span></h3>



<pre class="wp-block-code"><code>PS&gt; w32tm /query /status
閏インジケーター: 0 (警告なし)
階層: 3 (二次参照 - (S)NTP で同期)
精度: -23 (ティックごとに 119.209ns)
ルート遅延: 0.0031250s
ルート分散: 0.0412345s
参照 ID: 0xC0000210 (ソース IP:  192.0.2.16)
最終正常同期時刻: 2026/09/26 16:10:12
ソース: DC01.corp.example.jp
ポーリング間隔: 10 (1024s)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>項目（英語版の表示）</th><th>読み方</th></tr></thead><tbody><tr><td>閏インジケーター（Leap Indicator）</td><td>0 は警告なし。3 (同期未実行) は同期していない</td></tr><tr><td>階層（Stratum）</td><td>同期先の1つ下。0 (未指定) は同期していない</td></tr><tr><td>ルート遅延／ルート分散（Root Delay／Root Dispersion）</td><td>最上位までの往復の遅延と、積み重なった誤差（第3回）。分散が秒単位なら同期が止まっている兆候</td></tr><tr><td>参照 ID（ReferenceId）</td><td>同期先の IPv4 アドレス（16進とドット表記）</td></tr><tr><td>最終正常同期時刻（Last Successful Sync Time）</td><td>最後に同期できた時刻。古ければ同期が止まっている。一度も同期していなければ「未指定」</td></tr><tr><td>ソース（Source）</td><td>同期先。Local CMOS Clock や Free-running System Clock は外部と同期していない</td></tr><tr><td>ポーリング間隔（Poll Interval）</td><td>問い合わせ間隔（2のべき乗秒）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">出力例はメンバーサーバーのもので、日本語版の Windows の表示です（Windows Server 2016 と Windows 11 で確かめた形。値は例）。英語版では項目名が英語になります。Linuxの<code>chronyc tracking</code>（第4回）に当たるコマンドです。</p>



<p class="wp-block-paragraph">冒頭の「Local CMOS Clockと出た」は、<strong>外部と同期していない</strong>という意味です。フォレストルートのPDCエミュレーターなら設定漏れ、それ以外のDCやメンバーなら階層が途切れています。</p>



<h3 class="wp-block-heading"><span id="toc8">/source・/peers・/configuration</span></h3>



<pre class="wp-block-code"><code>PS&gt; w32tm /query /peers
ピア数: 3

ピア: ntp1.corp.example.jp,0x8
状態: アクティブ
残り時間: 41.2345678s
モード: 3 (クライアント)
階層: 2 (二次参照 - (S)NTP で同期)
ピアポーリング間隔: 6 (64s)
ホストポーリング間隔: 6 (64s)
（以下、ntp2・ntp3 が続く。抜粋）</code></pre>



<ul class="wp-block-list">
<li><code>/source</code>：今の同期先だけを1行で表示する。スクリプトでの確認に便利</li>


<li><code>/peers</code>：時刻源の候補と状態の一覧。<strong>状態が「保留中」（Pending）のまま、階層が0 (未指定) のままなら応答が届いていない</strong>。Linuxの<code>chronyc sources</code>に当たる</li>


<li><code>/configuration</code>：実際に効いている設定と、その出どころを表示する。値の後ろの<code>(ローカル)</code>（英語版は<code>(Local)</code>）はレジストリ、グループポリシーから来た値は別の表記（英語版は<code>(Policy)</code>）になる</li>


<li><code>/source</code>と<code>/configuration</code>は、Windows 11では管理者として実行しないと「アクセスが拒否されました。 (0x80070005)」になる（<code>/status</code>・<code>/peers</code>は一般ユーザーでも見られる）</li>


<li><code>/verbose</code>で詳しい情報、<code>/computer:DC02</code>で他のコンピューターの状態を調べられる（管理者の権限が必要）</li>


<li>ドメイン全体は<code>w32tm /monitor /domain:corp.example.jp</code>で、DCごとのずれを一覧できる</li>
</ul>



<h3 class="wp-block-heading"><span id="toc9">w32tm /stripchartと/resync</span></h3>



<pre class="wp-block-code"><code>PS&gt; w32tm /stripchart /computer:ntp1.corp.example.jp /samples:5 /dataonly
ntp1.corp.example.jp [192.0.2.123:123] を追跡中。
5 サンプルを収集中。
現在の時刻は 2026/09/26 16:20:01 です。
16:20:01, +00.0012345s
16:20:03, +00.0011872s
16:20:05, +00.0012011s
16:20:07, +00.0011930s
16:20:09, +00.0012104s
PS&gt; w32tm /resync
再同期コマンドをローカル コンピューターに送信しています
コマンドは正しく完了しました。</code></pre>



<ul class="wp-block-list">
<li><code>/stripchart</code>は、相手との時刻の差を<strong>測るだけで、自分の時計は変えない</strong>。相手にUDP 123が届くかの確認にも使える（届かなければ応答が無い旨のエラーになる）</li>


<li><code>/resync</code>は、蓄積した統計を捨ててすぐに同期し直す。<code>/rediscover</code>は時刻源の検出からやり直し、<code>/nowait</code>は完了を待たずに戻る</li>


<li>「The computer did not resync because no time data was available.」と出たら、<strong>時刻源に届いていない</strong>。設定と通信を確認する</li>


<li><code>/resync</code>の後の直し方は<code>MaxAllowedPhaseOffset</code>で決まり、それを超えるずれは一気に合わせ、それ以下はゆっくり合わせる。Linuxの<code>chronyc makestep</code>のように必ず飛ばすわけではない。出力例は日本語版の表示（英語版は「Sending resync command to local computer」「The command completed successfully.」）</li>
</ul>


<div class=".for-sp">
<div id="im-e200ff972f7b43fe9c8c2a7b60698c08">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567719,asid:1946060,type:"banner",display:"inline",elementid:"im-e200ff972f7b43fe9c8c2a7b60698c08"})</script>
</div>
</div>

<div class=".for-pc">
<!-- admax -->
<script src="https://adm.shinobi.jp/s/b379fcf4fc1a53eab29cb4ffbda7f14f"></script>
<!-- admax -->
<!--
<div id="im-4f0e910e1dca4503a73e8d9a2678879f">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567718,asid:1946059,type:"banner",display:"inline",elementid:"im-4f0e910e1dca4503a73e8d9a2678879f"})</script>
</div>
-->
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc10">高精度の時刻同期（Windows Server 2016以降）</span></h2>



<figure class="wp-block-table"><table><thead><tr><th>目標の精度</th><th>時刻源までの遅延</th><th>時刻源からの距離</th><th>CPU 使用率（1日平均）</th></tr></thead><tbody><tr><td>1秒</td><td>片道の遅延の累積が 100ms 以内</td><td>—</td><td>—</td></tr><tr><td>50ms</td><td>5ms 未満</td><td>stratum 5 以内、6ホップ以内</td><td>90% 以下（仮想ならホストも）</td></tr><tr><td>1ms</td><td>0.1ms 未満</td><td>stratum 5 以内、4ホップ以内</td><td>80% 以下（仮想ならホストも）</td></tr></tbody></table></figure>



<ul class="wp-block-list">
<li>経路上のすべてのWindows（上位の時刻サーバー、Hyper-Vホストを含む）が、Windows Server 2016／Windows 10以降であること。W32Timeの開始の種類は「自動」</li>


<li>レジストリ（<code>W32Time\Config</code>）：<code>MinPollInterval=6</code>、<code>MaxPollInterval=6</code>、<code>UpdateInterval=100</code>、<code>FrequencyCorrectRate=2</code>、<code>UtilizeSslTimeData=0</code>。NtpClientの<code>SpecialPollInterval=64</code></li>


<li>反映は<code>w32tm /config /update</code>とサービスの再起動（<code>UtilizeSslTimeData</code>はOSの再起動が必要）</li>


<li>最上位に正確で安定したstratum 1（GPS受信機付きのNTPサーバーなど）を置く。<strong>遠くの公開NTPサーバーでは1msは狙えない</strong></li>
</ul>



<p class="wp-block-paragraph">Microsoft Learnは、米国FINRAの50ms、EUのMiFID IIの1msを要件の例に挙げています（第1回）。遅延は<code>w32tm /stripchart /computer:… /rdtsc /samples:450</code>のRoundtripDelayから求めます。<strong>Kerberosのためだけなら、既定のままで十分</strong>です。NTPとPTPの比較は第9回、設計は第11回の問4で扱います。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc11">グループポリシーでの設定とワークグループの端末</span></h2>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/ntp05-s065.png" alt="GPO「PDCの時刻源」（Type=NTP・NtpServer、WMIフィルターDomainRole = 5）をDomain Controllers OUにリンクすると、PDCエミュレーターのDC01（DomainRole=5）には適用され、ほかのDC02（DomainRole=4）は対象外で、PDCの役割をDC02へ移すとDC02に適用されDC01から外れるので、GPOの設定は変えなくてよいことを示す図"/></figure>



<ul class="wp-block-list">
<li>場所は、<strong>コンピューターの構成 > 管理用テンプレート > システム > Windows タイム サービス（> タイム プロバイダー）</strong>。「Windows NTP クライアントを構成する」でTypeとNtpServerを指定する</li>


<li>PDCエミュレーター用のGPOをフォレストルートドメインのDomain Controllers OUにリンクし、WMIフィルター<code>SELECT * FROM Win32_ComputerSystem WHERE DomainRole = 5</code>で<strong>PDCエミュレーターだけに当てる</strong>と、役割を移しても設定が付いていく</li>


<li>「グローバル構成設定」を有効にすると、画面で変えていない値もGPOの既定値で上書きされる（例：<code>MaxPos／MaxNegPhaseCorrection</code>が172,800秒になる）。必要なポリシーだけを有効にする</li>


<li>GPOで配った値は<code>w32tm /query /configuration</code>で<code>(Policy)</code>と表示される。レジストリを直接直しても、GPOの値が優先される</li>
</ul>



<p class="wp-block-paragraph">ワークグループの端末は既定でtime.windows.comと同期し、間隔も長めです。社内にNTPサーバーがあれば、<code>w32tm /config /manualpeerlist:&quot;ntp1.corp.example.jp,0x8&quot; /syncfromflags:manual /update</code>で向け直します。15時間を超えるずれは、自動では直りません。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc12">仮想マシンのDCと、PDCエミュレーターを移したとき</span></h2>



<ul class="wp-block-list">
<li><strong>Hyper-V</strong>：DCのVMは、統合サービスの「時刻の同期」を外し、ドメインの階層に従わせる（Microsoftの推奨）。ゲストのレジストリ<code>VMICTimeProvider</code>の<code>Enabled=0</code>で、ホストからの時刻だけを使わない方法もある</li>


<li><strong>VMware</strong>：VMware Toolsの周期的な同期は既定で無効。ただし起動・再開・vMotion・スナップショット時の一回限りの同期は有効なので、<strong>ESXiホストの時刻を正しく保つ</strong>（第6回）</li>


<li>DCのVMがホストの時刻に従い、ホストがドメインから時刻を受け取る構成は<strong>循環</strong>する。どちらか一方を断つ</li>
</ul>



<h3 class="wp-block-heading"><span id="toc13">PDCエミュレーターを移したら</span></h3>



<pre class="wp-block-code"><code>PS&gt; netdom query fsmo
PS&gt; w32tm /config /syncfromflags:domhier /reliable:no /update
PS&gt; net stop w32time; net start w32time
PS&gt; w32tm /query /source</code></pre>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/ntp05-s066.png" alt="PDCの役割をDC01からDC02へ移すとき、元のPDCのDC01は階層に戻す（domhier・reliable:no）、新しいPDCのDC02は外部の時刻源を設定する（manualpeerlist・reliable:yes）必要があり、片方を忘れるとDC01の設定が残って頂点が2つになるか、DC02に設定が無くLocal CMOS Clockを基準にずれることを示す図"/></figure>



<p class="wp-block-paragraph">新しいPDCエミュレーターには、前の節の「外部の時刻源」の設定を行い、古い方は上のコマンドで<strong>階層に戻します</strong>（WMIフィルターのGPOなら自動）。<strong>時刻の設定は役割に付いてきません</strong>。新旧の2台とも直すのを忘れないでください。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc14">考えてみよう</span></h2>



<ol class="wp-block-list">
<li>自分のPCで<code>w32tm /query /source</code>を実行してください。どのDC（またはtime.windows.com）から時刻を受け取っていますか。そのDCは、さらにどこから受け取っていますか。</li>


<li>フォレストルートのPDCエミュレーターを別のDCに移す作業の手順書に、時刻の設定として何を書き加えますか。</li>


<li>「ときどきKerberos認証に失敗する」と言われたとき、どのコマンドで何を確かめますか。仮想マシンのDCであれば、ほかに何を確かめますか。</li>
</ol>



<p class="wp-block-paragraph"><strong>ヒント</strong>：この記事の階層の図、PDCエミュレーターの設定と移したときの手順、<code>/query /status</code>のSource・Stratum・Last Successful Sync Timeが手がかりです。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc15">まとめ</span></h2>



<ul class="wp-block-list">
<li><strong>W32Time</strong>はNTPのクライアント兼サーバー。既定はKerberosの5分に足りる精度</li>


<li>ADでは時刻が<strong>階層（NT5DS）</strong>で流れ、頂点は<strong>フォレストルートのPDCエミュレーター</strong></li>


<li>頂点の1台だけ<code>/manualpeerlist … /syncfromflags:manual /reliable:yes</code>で<strong>外部の時刻源を3台以上</strong></li>


<li><code>Local CMOS Clock</code>は<strong>外部と同期していない</strong>合図</li>


<li><code>MaxPos／MaxNegPhaseCorrection</code>を超えるずれは<strong>直さない</strong></li>


<li>高精度（1ms）は2016以降＋条件つき。Kerberosだけなら既定で十分</li>


<li>PDCエミュレーターを移したら<strong>新旧2台とも</strong>時刻の設定を直す（WMIフィルターのGPOなら自動）</li>
</ul>



<p class="wp-block-paragraph">次回は、<strong>ネットワーク機器やESXi・vCenter</strong>など、サーバー以外の機器の時刻同期を扱います。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc16">連載「NTP入門」全11回</span></h2>



<p class="wp-block-paragraph">全回の目次と、読む順番・目的別の読み方は、<a href="https://www.seichan.org/series-ntp">NTP入門の入口のページ</a>にまとめています。</p>



<ol class="wp-block-list">
<li><a href="https://www.seichan.org/2026/10/ntp-01-why.html" target="_blank">なぜ時刻同期が必要か</a></li>


<li><a href="https://www.seichan.org/2026/10/ntp-02-time-basics.html" target="_blank">時刻の基礎知識</a></li>


<li><a href="https://www.seichan.org/2026/10/ntp-03-ntp-mechanism.html" target="_blank">NTPの仕組み</a></li>


<li><a href="https://www.seichan.org/2026/10/ntp-04-chrony.html" target="_blank">Linuxの時刻同期（chrony）</a></li>


<li><strong>Windowsの時刻同期（この記事）</strong></li>


<li><a href="https://www.seichan.org/2026/10/ntp-06-network-virtual.html" target="_blank">ネットワーク機器・仮想基盤</a></li>


<li>設計と推奨構成</li>


<li>NTPのセキュリティ</li>


<li>PTPと高精度同期</li>


<li>時刻同期のトラブルシュート</li>


<li>時刻同期の設計演習</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>https://www.seichan.org/2026/10/ntp-05-windows.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
