presents by IT Consulting 109

PowerShell – 時刻同期設定情報を取得

概要

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 秒
この記事を書いた人
名前:TRUE's。 千葉県育ち、神奈川県在住のIT系フリーエンジニア。 IT系のナレッジサイトを不定期で更新中。 フォトグラファー兼エンジニアとして日々勤しんでいる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です