Windows Server 2019 PowershellコマンドでNTPクライアント設定 NTPサーバを複数指定する

最近は、Ansibleでサーバを構築することが多くて、ものすごい便利なツールで、大手企業なら間違いなく導入したほうがいいシステムの一つです。

 

こちらは、以前は使えるシステムが限られていると勘違いしていましたが、Windowsの設定、管理などもできます。

 

例えば、100台のサーバに対して、同じ設定変更をしたい場合など、Ansibleを使えば、自動化して設定が可能です。

 

これ、サーバ構築だけでなく、運用でも使えて便利です。そして今回は、WindowsサーバをSysprepで初期化した後に、Windows Server 2019 PowershellでNTPクライアント設定 NTPサーバを複数指定する方法についての情報になります。

 

まず、時刻同期については、以下のマイクロソフトの公開情報を見ておくといいと思います。

Windows タイム サービスのツールと設定 | Microsoft Docs

 

注意事項です。

 

Windows タイム サービスが実行されている場合は、Net time コマンドを使用してコンピューターの時刻を構成または設定しないでください。

また、Windows XP 以前を実行している古いコンピューターでは、Net time /querysntp コマンドは、コンピューターの同期のための構成に使用されているネットワーク タイム プロトコル (NTP) サーバーの名前を表示しますが、NTP サーバーは、コンピューターのタイム クライアントが NTP または AllSync として構成されている場合にのみ使用されます。 このコマンドはその後、非推奨となりました。

 

もう一つ

 

Windows Server 2016 では、RFC 仕様に合わせて時間同期アルゴリズムが改善されました。 そのため、ローカル タイム クライアントが複数のピアを指すように設定する場合は、3 つ以上の異なるタイム サーバーを準備することをお勧めします。

タイム サーバーが 2 つのみの場合は、NtpserverUseAsFallbackOnly フラグ (0x2) を指定して、いずれかの優先順位を下げます。 たとえば、clock.adatum.com より ntpserver.contoso.com を優先したい場合は、次のコマンドを実行します。

 

登録例

>w32tm /config /manualpeerlist:"ntpserver.contoso.com,0x8 clock.adatum.com,0xa" /syncfromflags:manual /update

 

 

Windows Server 2016から優先度をつけられるようになったみたいです。優先度が必要なければいいですが構成によっては便利かも。

 

実際に優先度がつくのか検証は必要ですが。

 

そして、本題のWindows Server 2019 PowershellでNTPクライアント設定 NTPサーバを複数指定する方法です。

 

PowerShellで設定する場合は、サーバを””で囲み、「,」で区切ります。

 

>Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\w32time\Parameters" -Name "NtpServer" -Value "10.0.0.1,0x8","10.0.0.2,0x8"

 

実機で上記方法で設定できることを確認できました。

 

設定後は、以下のコマンドを使って設定の確認ができます。

 

>reg query HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

 

Windows Server 2019 PowershellコマンドでNTPクライアント設定 NTPサーバを複数指定する方法を探していた方は参考までに。

 

エレコム キーボード ワイヤレス (レシーバー付属) メンブレン 薄型 フルキーボード ブラック TK-FDM110TXBK