Windows saatini varsayılandan daha sık otomatik olarak senkronize et


21

Zaman kaybeden birkaç bilgisayarım var ve Windows'un bunları İnternet saatiyle daha sık senkronize etmesini istiyorum. Bence Windows varsayılanı günde sadece bir kez güncelleme girişiminde bulunur ve zaman sunucusu mevcut değilse (ki bu oldukça sık görülür) güncellenmez, yani PC'ler 20 veya 30 saniye sürebilir.

Bunu her 5 dakikada bir söylemek için zamanlanmış bir görev oluşturmak istiyorum ve varsayılan zaman sunucusu yoksa mul kullanın


2
Söz konusu bilgisayarların zaman sunucusuna bağlanamama nedenini belirlemek daha kolay olmaz mıydı?
Ramhound


Varsayılan sunucular da sık sık başarısız oluyor. pool.ntp.orgBu cevapta
jan-glx

Yanıtlar:


14

Millet, w32tm yerleşik pencereler ve zamanlanmış bir görev ile bu çalışan var (aşağıya bakın).

İlk adım, birçok farklı zaman sunucusunu kullanmak için w32tm'yi yapılandırmaktı (ve ne olduğunu görebilmemiz için günlüğe kaydetmek). İkinci adım, görev zamanlayıcıda w32tm'yi zamanlamaktı. Herhangi bir 3. bölüm araç gerektirmediği için bu çözümleri beğendim. Yanıt vermedikleri sık sık bulduğum için farklı zaman sunucularını kurmak gerçekten önemlidir.

W32tm'yi yapılandır

Komut istemini aç (Aşağıdakileri yönetici olarak çalıştır)

w32tm /config /manualpeerlist:"time.nist.gov time.windows.com time-nw.nist.gov time-a.nist.gov time-b.nist.gov time-a.timefreq.bldrdoc.gov time-b.timefreq.bldrdoc.gov time-c.timefreq.bldrdoc.gov utcnist.colorado.edu" /syncfromflags:manual /update

w32tm /query /configuration

NTP sunucu listesinin doğru şekilde güncellendiğini kontrol edin, yani az önce girdiğiniz eş listesini yansıtır

w32tm /debug /enable /file:C:\windows\temp\w32time.log /size:10000000 /entries:300

Dizine göz atın ve günlüğün oluşturulup oluşturulmadığını kontrol edin

Sistem saatini manuel olarak değiştirin (böylece saat artık senkronize olmayacak şekilde), ardından komut istemine geri dönün ve resync komutunu çalıştırın

w32tm /resync

Sistem saatinin güncellendiğini kontrol edin. ** Hizmetin başlatılmadığı zamanla ilgili bir hata alırsanız komutu kullanabilirsiniz, net start w32timesonra başka bir yeniden senkronize etmeyi deneyin

Aşağıdaki hatayı alırsanız: The compter did not resync because the required time change was too big.yeniden senkronize etmek için bu komutu kullanın:w32tm /resync /force

Bu başarılı bir şekilde çalışırsa, tek yapmanız gereken aşağıdaki zamanlanan görevi istediğiniz sıklıkta çalışacak şekilde yapılandırmaktır (yukarıda yapılandırılan eş listenizi kullanır).

Zamanlama w32tm

Program / Kod Argümanı

%windir%\system32\sc.exe start w32time task_started
%windir%\system32\w32tm.exe /resync

1
Varsayılan olarak, Windows Saati en az 9.1 saatte bir güncelleştirilir . Bu, MaxPollIntervalo bağlantıda tartışılan kayıt defteri girdisi tarafından denetlenir . Bu girişin verileri, formülle saniyeye dönüştürülür 2^Value. Örneğin, MaxPollInterval'ın değeri 11, o zaman 2^11=2048sec=34minutes. Güncellenme sıklığını azaltmak isteyenler için olmadan zamanlanmış görevi kullanarak, basitçe o zaman bu kayıt defteri girdisini değiştirmek Windows Zaman hizmeti yeniden net stop w32timesonra net start w32time.
Reinstate Monica diyorum ki

" /entries:300" doğru seçenek değil. Yalnızca # 300 koduyla kaydedilen girişleri gösterecektir, bu çok fazla giriş değildir. Fikir, bu parametreyi gösterilecek giriş numaralarının bir listesi olarak kullanmaktır, böylece " /entries:0-300" günlükteki tüm olası olayları gösterecektir.
MikeB

10

Denetim Masası> Yönetimsel Araçlar> Görev zamanlayıcı'ya gidin

sol bir klasör ağacıdır, genişletin: Görev zamanlayıcı kitaplığı> Microsoft> Windows> Zaman senkronizasyonu

görevi sağ tıklayın: SynchronizeTime> özellikler

Sekmesinde: Tetikleyiciler istediğiniz tetikleyicileri ekleyebilirsiniz.


OP 20-30 saniyelik bir zaman senkronizasyonu aralığını istedi. Bu, yalnızca birden fazla tetikleyici tanımlama
nixda

2
Yaygın yanlış anlama, ama gerçekten suçlanamazsınız! Bu zamanlanmış görev yalnızca Windows Saati hizmetinin çalışmasını sağlar ... Bu nedenle, görevi daha sık tetikleseniz bile, yine de ne zaman eşitleneceğine, görünüşte haftalık olana karar veren hizmettir.
Gras Double

6
Anket sıklığını değiştirmek için: kayıt defteri anahtarını HKLM\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient, DWORD'yi SpecialPollIntervalsaniyeler içinde düzenleyin (örn. Bir gün için: onaltılık 15180 veya ondalık 86400).
Gras Double

Harika! bu hile benim W7 OS benim için çalıştı
razor7

2
Microsoft, zaman senkronizasyonu SO DAMN COMPLICATED gibi basit bir sondaj görevi yaptığınız için teşekkür ederiz. Tek aklı başında çözüm, üçüncü tarafa ait bir programı sessizce düzenli olarak çalıştırmaktır.
Gras Double

4

Zaman senkronizasyonunu otomatikleştirmek için TimeSync'i kullanabilirsiniz .

  • upside: W32tm (W32tm kullandığınızda sahip olduğunuz) gibi bir hizmetin tümünü kaydetmez
  • upside: onun taşınabilir ve /autobaşlangıç ​​klasöründen seçeneği ile çalıştırılabilir
  • olumsuz tarafı: yerleşik bir çözüm değil, üçüncü taraf aracı

    resim açıklamasını buraya girin

TimeSync bir NIST sunucusundan geçerli saati alır ve gerekirse PC saatini ayarlar. Doğruluk genellikle bir saniye içinde gerçekleşir. [...] TimeSync, tercih edilen sunucudan zaman alınamaması durumunda alternatif sunucuları deneyecektir.

TimeSync'i Başlangıç ​​klasöründen çalıştırmak için seçenek / otomatik sağlanır. Bu modda, saat kayması belirli bir minimumun altındaysa TimeSync penceresi görünmez.


Tabii ki, yerleşik W32tm çözümünü kaydedebilir cmd.exe → W32tm /registerve planlanan görevinizi cmd.exe → W32tm /resyncher 5 dakikada bir arayacak şekilde ayarlayabilirsiniz .



-1

Bu komutu yönettiğim kiosklarda çalıştırıyorum.

net start w32time 
w32tm /resync /force

tarih saatini manuel olarak ayarlamak için:

date 5/24/2017
time 18:37:00

Saat dilimini ayarlamak için:

tzutil/s Pacific Standard Time

1
İlk kod bloğundaki komutlar ne işe yarar? İkinci ve üçüncü kod bloklarının bu soru ile ilgisi var mı?
Scott
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.