NTP(Network Time Protcol)の設定を取得する方法について記載してます。
PowerShell単体では難しいのでレジストリからの取得をPowerShellから行っています。
タイムゾーンを取得するには「Win32_TimeZone」を使用します。
$TimeZone = (Get-Wmiobject -NameSpace root\CIMV2 -Class Win32_TimeZone).caption
echo $TimeZone
実行結果
(UTC+09:00) 大阪、札幌、東京
NTPサーバーの設定はレジストリ情報から取得します。
$NTP_Param = Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\services\W32Time\Parameters
NTPサーバーとの同期先を取得するには、続いて次のコマンドを実行します。
echo $NTP_Param.NtpServer
実行結果
time.windows.com,0x9
NTPサーバーとの同期方法を取得するには、続いて次のコマンドを実行します。
echo $NTP_Param.Type
実行結果
NT5DS
NTPクライアントの有効/無効の設定はレジストリ情報から取得します。
$NTP_Cliant = Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient
switch($NTP_Cliant.Enabled){
0{$NTP_Cliant.Enabled = "無効"}
1{$NTP_Cliant.Enabled = "有効"}
default{$NTP_Cliant.Enabled = "不明"}
}
echo $NTP_Cliant.Enabled
結果が1の場合
有効
結果が0の場合
無効
同期間隔を取得するには、次のコマンドを実行します。
$NTP_Cliant = Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient
echo ([string]($NTP_Cliant.SpecialPollInterval) + " 秒 (" + [string]($NTP_Cliant.SpecialPollInterval / 60 / 60 /24) + " 日)" )
実行結果
3600 秒 (0.0416666666666667 日)
最大同期間隔/最小同期間隔はレジストリ情報から取得します。
$NTP_Config = Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\services\W32Time\Config
最小同期間隔を取得するには、続いて次のコマンドを実行します。
echo ([string]($NTP_Config.MinPollInterval) + " 秒")
実行結果
10 秒
最大同期間隔を取得するには、続いて次のコマンドを実行します。
echo ([string]($NTP_Config.MaxPollInterval) + " 秒")
実行結果
15 秒