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


65

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

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

結果を得るためにCMDコンソールにパンチするだけで、すぐに覚えられるコマンドを見つけたいと思っています。ただし、持ち運びできるバッチファイルも同様に機能します。

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

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

これらの結果を達成するには、どのコマンドが必要ですか?

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


「net time \\ computername」を実行してリモートPCの時刻を取得できる時間を確認することを知っています。ネットタイムでは、最後の同期を表示できるとは思いませんが...「ネットタイム?」設定オプションがありますので、探しているものの1/2になります。
スーパーシリアル

@Kyle net time /querysntpサーバーを示していることがわかりました。残りを取得するのは難しいかもしれません。
イスジ

3
Windows 7では、net time / querysntpは廃止されました。
ダニエル

回答:


82

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

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

w32tm /query /configuration 設定した構成を提供します。

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

  • 地層
  • 飛躍インジケータ
  • 精度
  • 最後の同期
  • NTPサーバー
  • ポーリング間隔

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

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


5
XPではダメ。「コマンド/ queryは不明です。」
イジー

time /tタスクバーの右下に表示される時間と時間の違いは何ですか?
14

最初にw32tm /query /configuration「次のエラーが発生しました:アクセスが拒否されました。(0x80070005)」が表示されます。私には十分な権利があると思います。
ピーターモーテンセン

3
そのためには、管理者特権でコマンドウィンドウを開く必要があります。
フィリップR.

16

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

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

w32tm /stripchart /computer:NTPServerNameOrIP /dataonly /samples:x (あなたが望む返品数)

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

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

コマンド例


この回答をフォーマットしてください。
ラムハウンド

自己フォーマットの方法は奇妙です。修正されました
バイロン

8

私は試した:

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.

したがって、基本的に、サービスは実行されていませんでした。以下のこれらの手順を、私がやりました:

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.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


3

コマンドラインから次のような情報を取得できます。

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

少なくともその方向に進むには、つまりあなたの質問を理解できれば、それで十分だと思われます。知る限り、「reg」コマンドは、適切なサービスが実行されている限り、これらすべての異なるプラットフォームで機能します。


「エラー:指定されたレジストリキーまたは値が見つかりませんでした。」W32Timeは開始されなかったことが判明しました...-
msb

[\\machine\]」は、同じマシン上にある場合は省略できることを意味しますか?
ピーターモーテンセン

2

見てみましょうw32tmコマンドラインツールを。構成を設定および照会し、別のコンピューターでタイムオフセットの/ stripchartを報告できます。


1
この/queryオプションはXPでは使用できません。
イジー

5
試してくださいnet time /querysntp
フラン

1
@Fran動作します。クロスプラットフォームのコマンドを1つ取得したいと思っていましたが、2つの異なるコマンドを使用する必要があるようです-または、プラットフォーム検出を含むバッチファイルを作成して、実行するコマンドを決定します。
イッツィ

1
@lsziスクリプトでは、C:\ usersの存在をテストします。そのフォルダが見つかったら、XP以降のボックスにいることがわかります。
フラン

1
@Fran両方のコマンドを含む独自の答えを書いていただけますか?また、XPの最後に成功した同期時間を確認するには、どのコマンドを使用しますか?
イジ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.