Bagaimana saya bisa memeriksa konfigurasi NTP sistem saat ini?

65

Saya perlu memverifikasi konfigurasi NTP saat ini pada beberapa sistem Windows. Idealnya, saya ingin dapat melakukan ini melalui baris perintah daripada menavigasi melalui layar konfigurasi.

(Saya sedang mengerjakan beberapa versi OS yang berbeda, dan layar konfigurasi cenderung tidak selalu berada di tempat yang sama di seluruh versi.)

Saya berharap menemukan perintah cepat dan mudah diingat yang bisa saya masukkan ke konsol CMD untuk mendapatkan hasilnya. File batch yang bisa saya bawa-bawa juga akan baik-baik saja.

Secara khusus, saya perlu yang berikut ini:

  • Tunjukkan apakah sistem dikonfigurasikan untuk menerima waktu dari server NTP.
  • Tunjukkan server NTP dari mana sistem menerima waktu.
  • Tampilkan waktu sinkronisasi terakhir.
  • Tunjukkan waktu saat ini pada sistem.

Perintah apa yang diperlukan untuk mencapai hasil ini?

Mencari solusi yang kompatibel lintas dengan Windows XP, 7, Server 2003, dan Server 2008.

Iszi
sumber
Saya tahu untuk memeriksa waktu Anda dapat melakukan "net time \\ computername" untuk mendapatkan waktu pc jarak jauh. Saya tidak berpikir waktu bersih memungkinkan Anda melihat sinkronisasi terakhir ... namun "waktu bersih?" memberikan opsi yang ditetapkan, jadi itu seperti 1/2 dari apa yang Anda cari.
Supercereal
@Kyle Saya baru tahu yang net time /querysntpmenunjukkan server. Mendapatkan sisanya mungkin sulit.
Iszi
3
Di Windows 7 waktu bersih / querysntp telah ditinggalkan.
Daniel

Jawaban:

82

Di baris perintah, ketik

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

w32tm /query /configuration memberi Anda konfigurasi yang telah Anda atur.

w32tm /query /status memberi Anda informasi seperti:

  • lapisan
  • indikator lompatan
  • presisi
  • sinkronisasi terakhir
  • Server NTP
  • interval jajak pendapat

time /T menampilkan waktu sistem saat ini.

Catatan: w32tm /querypertama kali tersedia di versi Windows Time klien Windows Vista, dan Windows Server 2008. Lihat Alat dan Pengaturan Layanan Waktu Windows

Phillip R.
sumber
5
Tidak bagus di XP. "Perintah / permintaan tidak diketahui."
Iszi
Apa perbedaan antara time /tdan waktu yang ditunjukkan di kanan bawah bilah tugas?
Pacerier
Untuk yang pertama,, w32tm /query /configurationsaya mendapatkan "Kesalahan berikut terjadi: Akses ditolak. (0x80070005)" . Saya rasa saya punya cukup hak.
Peter Mortensen
3
Anda harus berada di jendela perintah yang ditinggikan untuk itu.
Phillip R.
16

Ini menjawab pertanyaan terakhir Anda:

Buka prompt perintah dan ketik dengan tepat:

w32tm /stripchart /computer:NTPServerNameOrIP /dataonly /samples:x (berapa banyak pengembalian yang Anda inginkan)

Ini mengembalikan waktu dan perbedaan ke waktu server NTP. Jika mengembalikan waktu, kesalahan: 0x80072746 maka itu bukan server NTP Anda.

Contoh perintah di bawah ini:

Contoh perintah

Byron
sumber
Bisakah Anda memformat jawaban ini?
Ramhound
Cara format diri itu aneh. Telah diubah
Byron
8

Saya mencoba:

w32tm /query /status

Saya mendapatkan:

The command /query is unknown.

Di mesin yang berbeda, saya mendapat:

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

Lalu saya mencoba:

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

Saya mendapatkan:

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

Lalu saya mencoba:

net time /querysntp

Saya mendapatkan:

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

Di komputer lain, saya mendapatkan halaman bantuan, dengan mengatakan juga:

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

Jadi, pada dasarnya, layanan tidak berjalan. Mengikuti instruksi ini , saya lakukan:

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

Akhirnya, semua hal di atas akan berhasil. (catatan: jika net startgagal, lihat di bawah) Maka saya hanya perlu mengatur ntp saya ... Saya melakukannya dengan:

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

mengikuti instruksi dari sini , tapi mungkin semudah:

net time /setsntp:10.0.0.5

seperti yang diinstruksikan di sini . (10.0.0.5 menjadi server NTP lokal saya). Jika Anda tidak menggunakan server NTP lokal, Anda dapat menggunakan yang umum:

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

Akhirnya, Anda mungkin perlu melakukan yang berikut, yang tidak perlu bagi saya:

w32tm /config /update
w32tm /resync /rediscover

CATATAN: jika net start w32timegagal dengan kesalahan 1290 (Layanan mulai gagal karena satu atau lebih layanan dalam proses yang sama memiliki pengaturan jenis SID layanan yang tidak kompatibel) kemudian ikuti langkah-langkah di sini :

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

Kemudian ikuti seperti di atas.


CATATAN 2: jika layanan NTP tidak secara otomatis memulai saat reboot, itu mungkin karena pengaturan awal, seperti dijelaskan di sini : tergantung pada windows Anda, itu mungkin diatur untuk mulai hanya ketika bergabung dengan domain. Anda dapat memeriksa dengan:

sc qtriggerinfo w32time

Jika dikonfigurasi untuk memulai ketika Anda bergabung dengan domain, dan Anda tidak memiliki domain yang diatur di mesin Anda, itu tidak akan memulai layanan dan mengatur waktu. Mungkin tidak bergabung dengan domain karena Anda tidak menginginkannya. Bagaimanapun, ubah saja pemicu yang memulainya. Misalnya, untuk memulai ketika mesin memiliki jaringan (dan karena itu dapat mengakses server), lakukan:

sc triggerinfo w32time start/networkon stop/networkoff
msb
sumber
4

Menggunakan:

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

File sampel .bat ada di https://gist.github.com/thedom85/dbeb58627adfb3d5c3af .

Saya juga merekomendasikan program ini: http://www.timesynctool.com/

pengguna565386
sumber
3

Dari baris perintah Anda bisa mendapatkan info seperti ini:

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

Sepertinya itu harus cukup setidaknya untuk pergi ke arah itu, yaitu, jika saya mengerti pertanyaan Anda. AFAIK, perintah 'reg' bekerja pada semua platform yang berbeda ini selama Anda menjalankan layanan yang tepat.

osirisgothra
sumber
Saya mendapat: "GALAT: Sistem tidak dapat menemukan kunci atau nilai registri yang ditentukan." Ternyata W32Time tidak dimulai ...
msb
Jadi " [\\machine\]" artinya itu bisa ditinggalkan jika menggunakan mesin yang sama?
Peter Mortensen
2

Lihatlah w32tmalat baris perintah. Itu dapat mengatur dan menanyakan konfigurasi dan melaporkan / stripchart waktu diimbangi dengan komputer lain.

uSlackr
sumber
1
The /queryopsi ini tidak tersedia di XP.
Iszi
5
Coba net time /querysntp.
Fran
1
@ Fran Itu bekerja. Saya berharap untuk mendapatkan satu perintah yang lintas-platform, tetapi sepertinya saya mungkin harus menggunakan dua perintah yang berbeda - atau menulis file batch yang mencakup deteksi platform untuk menentukan perintah mana yang harus dijalankan.
Iszi
1
@lszi Dalam skrip saya, saya menguji keberadaan pengguna C: \. Jika saya menemukan folder itu, saya tahu saya berada di kotak post-XP.
Fran
1
@ Fran Bisakah Anda menulis jawaban Anda sendiri yang mencakup kedua perintah? Juga, perintah apa yang akan saya gunakan untuk memeriksa waktu sinkronisasi terakhir yang berhasil untuk XP?
Iszi