Sinkronisasi Waktu Internet dalam skrip Windows?

11

Apakah ada cara saya dapat menyinkronkan jam sistem dengan server Waktu Internet (yaitu: time.nist.gov) melalui baris perintah? Lebih disukai, ini harus menjadi sesuatu yang dapat dieksekusi melalui skrip BAT atau PowerShell.

Kebutuhan khusus ini muncul karena saya memiliki beberapa VM yang secara teratur saya gunakan fungsi "save machine state", dan ini biasanya tidak menyinkronkan kembali jam mereka ketika saya "membangunkan" mereka. Sering kali, saya akan memuat ulang mereka untuk menemukan jam (dan tetap) hari tidak selaras.

Menyinkronkan kembali jam melalui dialog Pengaturan Waktu Internet biasanya berfungsi dengan baik, tetapi perlu banyak mengklik mouse untuk melakukan ini. Saya lebih suka menyimpan skrip di desktop yang dapat saya klik dua kali dan menyelesaikan pekerjaan untuk saya.

Sekarang ini untuk sistem yang menjalankan Windows 7 Home x64, tetapi kompatibilitas mundur ke XP SP3 akan menyenangkan untuk dimiliki.

Iszi
sumber
1
Sebagian besar perangkat lunak VM (Virtual PC, VirtualBox) dilengkapi dengan driver ("Tambahan") yang menjaga jam tamu sinkron dengan host, antara lain.
user1686
@grawity - Menggunakan itu, tetapi sepertinya tidak melakukan pekerjaan.
Iszi

Jawaban:

13

Lihat referensi untuk W32tm, "Alat yang digunakan untuk mendiagnosis masalah yang terjadi dengan Windows Time": http://technet.microsoft.com/en-us/library/bb491016.aspx . Juga,w32tm /?

Gunakan w32tm /resync. Anda juga mungkin perlu mengatur server dengan net timejika Anda belum melakukannya.

Jeff Ferland
sumber
2
Oke, saya lakukan ... @echo off && w32tm /resync && PAUSEMelemparkannya ke file BAT, dan mengatur pintasan di desktop dengan mencentang "Run as administrator". Terima kasih!
Iszi
Pada Windows 7, ketika saya melakukan ini saya mendapatkan:The following error occurred: The service has not been started.
Pengguna
@echo off && w32tm / resync - Command propmpt mengatakan bahwa ia tidak mengenali perintah (w32tm)
Arpit Parekh
.. Perintah yang tidak bisa saya jalankan di windows 7.
Arpit Parekh
1
@DeepakKamat, Anda mungkin perlu menggunakan Layanan Windows (ketik "services.msc" di kotak pencarian atau pencarian). Gulir ke bawah untuk menemukan Waktu Windows. Klik kanan padanya dan pilih Properties. Di sana Anda dapat mengatur jenis startup menjadi otomatis.
Kirk Liemohn
1
@echo off
net start W32Time
w32tm /resync
echo sync complete
  1. Salin kode ini ke Notepad dan simpan sebagai .batfile.
  2. Jalankan file batch dengan hak istimewa Administrator atau jadwalkan tugas untuk menjalankan file batch ini dari Penjadwal Tugas, sesuai kebutuhan.

Catatan: Ini memerlukan hak istimewa Administrator dan koneksi Internet yang berfungsi.

Sainath Prabhu
sumber
0

Saya biasa melakukannya dengan perintah net.

untuk ntp

waktu bersih ntp.server.foo

untuk windows

waktu bersih \\ server

Saya tidak dapat mengingat jika Anda memerlukan semacam / ntp flag untuk ntp ... itu akan memberi tahu Anda jika Anda melakukannya.

Kyle__
sumber