いくつかの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 サーバーではありません
コマンドの例を以下に示します
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