windows – システムの現在の NTP 設定を確認するにはどうすればよいですか?

batch-file command-line date-time ntp windows

いくつかのWindowsシステムで現在のNTP設定を確認する必要があります。理想的には、設定画面をナビゲートするのではなく、コマンドラインからこれを実行できるようにしたいと思います

(私はいくつかの異なるOSのバージョンで作業をしていて、バージョンをまたいで設定画面が同じ場所にあるとは限らない傾向があります)

CMD コンソールにパンチして結果を得ることができる、素早くて覚えやすいコマンドを見つけたいと思っています。しかし、私が持ち歩くことができるバッチファイルがあれば、それだけで十分でしょう

具体的には、以下のものが必要です

  • システムが NTP サーバーから時刻を受信するように設定されているかどうかを表示します
  • システムが時刻を受信しているNTPサーバーを表示します
  • 最後に同期した時刻を表示します
  • システムの現在時刻を表示します

これらの結果を得るためには、どのようなコマンドが必要でしょうか?

Windows XP、7、Server 2003、Server 2008との相互互換性のあるソリューションを探しています

  75  Iszi  2012-05-16


ベストアンサー

コマンドラインで、次のように入力します

w32tm /query /configuration
w32tm /query /status
Time /T

w32tm /query /configurationでは、設定した設定を表示します

w32tm /query /statusはこんな情報を教えてくれます

  • stratum
  • leap indicator
  • precision
  • last sync
  • NTP server
  • poll interval

time /Tは現在のシステム時刻を出力します

注: w32tm /query は、Windows Vista と Windows Server 2008 の Windows Time クライアントバージョンで初めて利用可能になりました。Windows タイムサービスのツールと設定 を参照してください

89  Phillip R.  2012-05-16


これが最後の質問の答えです

コマンドプロンプトを開き、正確に入力します

w32tm /stripchart /computer:NTPServerNameOrIP /dataonly /samples:x(何個返したいか)

NTPサーバの時刻と差を返します。もしそれが時間を返してきたら、エラーになります。0x80072746 の場合は、それはあなたの NTP サーバーではありません

コマンドの例を以下に示します

Command example

18  Byron  2016-07-11


I tried:

w32tm /query /status

I got:

The command /query is unknown.

別のマシンでは、私は得ました

The following error occurred: The service has not been started. (0x80070426)

それから試してみました

reg QUERY [\\machine\]HKLM\SYSTEM\CurrentControlSet\Services\W32Time

I got:

ERROR: The system was unable to find the specified registry key or value.

それから試してみました

net time /querysntp

I got:

This computer is not currently configured to use a specific SNTP server.

別のマシンでは、私はまた、と言ってヘルプページを取得しました

The /QUERYSNTP and /SETSNTP options have been deprecated. Please use w32tm.exe to configure the Windows Time Service.

そのため、基本的にはサービスが実行されていませんでした。theseの指示に従って、私はそうしました

w32tm /unregister
w32tm /unregister
w32tm /register
net start w32time

最終的には、上記のすべてが動作するようになりました。(注意: net startが失敗した場合は以下を参照) それから、ntpを設定する必要がありました…でやりました

w32tm /config /manualpeerlist:10.0.0.5 /syncfromflags:manual /reliable:yes /update

こちらからの指示に従っていますが、もしかしたら同じくらい簡単にできたかもしれません

net time /setsntp:10.0.0.5

こちら(10.0.0.0.5 は私のローカル NTP サーバーです)。ローカルの NTP サーバーを使っていない場合は、一般的なものを使うことができます

w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:manual /reliable:yes /update

最後に、私には必要なかった以下のことをする必要があるかもしれません

w32tm /config /update
w32tm /resync /rediscover

注: net start w32timeがエラー1290で失敗した場合(同じプロセス内の1つ以上のサービスが互換性のないサービスSID型設定を持っているため、サービスの開始に失敗しました)は、こちらの手順に従ってください

w32tm /unregister
w32tm /register
sc config w32time type= own
net start w32time

その後は上記のようにしてください


注意 2: 再起動時に NTP サービスが自動的に起動しない場合、こちらに記載されているように、起動設定が原因である可能性があります。で確認してみてください

sc qtriggerinfo w32time

ドメインに参加したときに起動するように設定されていて、マシンにドメインが設定されていない場合、サービスを起動して時間を設定することはありません。おそらく、ドメインに参加したくないから参加しないのでしょう。いずれにしても、どのトリガーで起動するかを変更するだけです。例えば、マシンがネットワークを持っている(つまりサーバーにアクセスできる)ときに起動するには、次のようにします

sc triggerinfo w32time start/networkon stop/networkoff

9  msb  2015-03-13


Use:

net stop w32time
w32tm /config /syncfromflags:manual /manualpeerlist:"0.it.pool.ntp.org 1.it.pool.ntp.org 2.it.pool.ntp.org 3.it.pool.ntp.org"
net start w32time
w32tm /config /update
w32tm /resync /rediscover

.bat のサンプルファイルは https://gist.github.com/thedom85/dbeb58627adfb3d5c3af にあります

こちらのプログラムもおすすめです。http://www.timesynctool.com/

5  user565386  2016-03-01


コマンドラインからは、このような情報を得ることができます

reg QUERY [\\machine\]HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
reg QUERY [\\machine\]HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config

少なくともその方向に進むにはこれで十分なように思えます。AFAIKでは、’reg’コマンドは、適切なサービスが実行されている限り、これらの異なるプラットフォーム上で動作します

4  osirisgothra  2012-05-16


w32tmコマンドラインツールを見てみましょう。これは、設定を設定して問い合わせたり、他のコンピュータとの時間オフセットの/stripchartをレポートしたりすることができます

3  uSlackr  2012-05-16


タイトルとURLをコピーしました