web-dev-qa-db-ja.com

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

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

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

私は結果を得るために私がCMDコンソールにただ穴を開けることができる迅速で記憶に残るコマンドを見つけることを願っています。私と一緒に持ち運ぶことができるバッチファイルも、同様に行います。

具体的には、次のものが必要です。

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

これらの結果を達成するためにどのようなコマンドが必要ですか?

Windows XP、7、Server 2003、およびServer 2008と相互互換性のあるソリューションを探してください。

62
Iszi

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

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

w32tm /query /configurationはあなたがセットアップした設定をあなたに与えます。

w32tm /query /statusは以下のような情報を提供します。

  • 地層
  • うるうインディケータ
  • 精度
  • 最後の同期
  • NTPサーバー
  • ポーリング間隔

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

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

78
Phillip R.

これはあなたの最後の質問に答えます:

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

w32tm /stripchart /computer:NTPServerNameOrIP /dataonly /samples:x(あなたが望むリターン数)

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

コマンドの例は次のとおりです。

Command example

15
Byron

私は試した:

w32tm /query /status

私は得た:

The command /query is unknown.

別のマシンでは、私は得た:

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

それから私は試してみました:

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

私は得た:

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

それから私は試してみました:

net time /querysntp

私は得た:

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

here からの指示に従ってください。

net time /setsntp:10.0.0.5

指示に従って here 。 (10.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タイプ設定があるため、サービスの開始に失敗しました)、 here

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

それから上記のように従ってください。


注2:NTPサービスが再起動時に自動的に起動しない場合は、 here のように起動設定が原因である可能性があります。あなたのウィンドウは、ドメインに参加したときにのみ起動するように設定されているかもしれません。次のもので確認できます。

sc qtriggerinfo w32time

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

sc triggerinfo w32time start/networkon stop/networkoff
7
msb

コマンドラインから次のような情報が得られます。

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

少なくともその方向に進むためには、それで十分なはずです。つまり、私があなたの質問を理解したならば。ご存じのとおり、 'reg'コマンドは、正しいサービスが実行されている限り、これらすべての異なるプラットフォームで機能します。

3
osirisgothra

つかいます:

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/

3
user565386

w32tmコマンドラインツールを見てください。それは設定を設定して問い合わせることができ、そして別のコンピュータで時間オフセットの/ stripchartを報告することができます。

2
uSlackr