Bir sistemin mevcut NTP yapılandırmasını nasıl kontrol edebilirim?


65

Bazı Windows sistemlerinde geçerli NTP yapılandırmasını doğrulamam gerekiyor. İdeal olarak, bunu yapılandırma ekranlarında gezinmek yerine komut satırı üzerinden yapabilmek istiyorum.

(Birkaç farklı işletim sistemi sürümü üzerinde çalışıyorum ve yapılandırma ekranları sürümler arasında her zaman aynı yerde olma eğiliminde değiller.)

Sonucu elde etmek için bir CMD konsoluna girebileceğim hızlı ve akılda kalıcı bir komut bulmayı umuyorum. Yanımda taşıyabileceğim bir toplu iş dosyası da aynısını yapacak.

Özellikle, aşağıdakilere ihtiyacım var:

  • Sistemin bir NTP sunucusundan zaman alacak şekilde yapılandırılmış olup olmadığını gösterin.
  • Sistemin zaman aldığı NTP sunucularını göster.
  • Son senkronizasyon zamanını göster.
  • Sistemde geçerli saati göster.

Bu sonuçları elde etmek için hangi komutlar gerekli olacaktır?

Windows XP, 7, Server 2003 ve Server 2008 ile çapraz uyumlu bir çözüm arıyorsunuz.


Uzaktaki bilgisayarın zamanını almak için "net time \\ computername" işlemini yapabileceğinizi kontrol etmeyi biliyorum. Net zamanın son senkronizasyonu izlemenize izin verdiğini sanmıyorum ... ancak "net zaman?" ayarlanmış bir seçenek sunar, bu yüzden aradığınız şeyden 1/2 gibi.
Supercereal

@Kyle Sadece net time /querysntpsunucuyu gösteren öğrendim . Gerisini almak zor olabilir.
Iszi

3
Windows 7'de net zaman / querysntp kullanımdan kaldırılmıştır.
Daniel,

Yanıtlar:


82

Komut satırına yazın

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

w32tm /query /configuration ayarladığınız konfigürasyonu size verir.

w32tm /query /status size aşağıdaki gibi bilgileri verir:

  • tabaka
  • sıçrama göstergesi
  • hassas
  • son senkronizasyon
  • NTP sunucusu
  • yoklama aralığı

time /T mevcut sistem zamanını verir.

Not: w32tm /queryilk önce Windows Vista'nın ve Windows Server 2008'in Windows Time istemci sürümlerinde kullanıma sunuldu. Bkz. Windows Zaman Hizmeti Araçları ve Ayarları


5
XP'de iyi değil. "Komut / sorgu bilinmiyor."
Iszi

time /tGörev çubuğunun sağ alt köşesinde gösterilen zaman ile saat arasındaki fark nedir ?
Pacerier

İlk için w32tm /query /configuration, ben olsun "şu hata oluştu: erişim engellendi (0x80070005)." . Sanırım yeterli haklarım var.
Peter Mortensen

3
Bunun için yükseltilmiş bir komut penceresinde olmanız gerekir.
Phillip R.

16

Bu son sorunuzu yanıtlar:

Bir komut istemi açın ve tam olarak şunu yazın:

w32tm /stripchart /computer:NTPServerNameOrIP /dataonly /samples:x (kaç tane iade istediğinizi)

NTP sunucusu zamanına zaman ve fark döndürür. Zaman döndürürse, hata: 0x80072746, NTP sunucunuz değil.

Bir komut örneği aşağıdadır:

Komut örneği


Lütfen bu cevabı biçimlendirebilir misiniz?
Ramhound

Kendi kendini biçimlendirme şekli garip. Değişiklik
Byron

8

Denedim:

w32tm /query /status

Bende var:

The command /query is unknown.

Farklı bir makinede aldım:

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

Sonra denedim:

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

Bende var:

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

Sonra denedim:

net time /querysntp

Bende var:

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

Başka bir makinede, yardım sayfasını da söyledim:

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

Yani, temelde, servis çalışmıyor. Ardından bu talimatları, ben yaptım:

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

Sonunda, yukarıdakilerin hepsi işe yarar. (not: net startbaşarısız olursa, aşağıya bakın) O zaman ntp'mi ayarlamanız gerekiyordu ... Şunu yaptım:

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

buradan talimatları izleyerek , ancak belki de bu kadar kolay olabilirdi:

net time /setsntp:10.0.0.5

olarak talimat burada . (10.0.0.5 yerel NTP sunucumdur). Yerel bir NTP sunucusu kullanmıyorsanız, genel olanı kullanabilirsiniz:

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

Son olarak, benim için gerekmeyen aşağıdakileri yapmanız gerekebilir:

w32tm /config /update
w32tm /resync /rediscover

NOT: eğer net start w32timehata 1290 ile başarısız sonra adımlar izleyin (hizmet başlangıç aynı süreçte bir veya birkaç hizmet, uyumsuz bir hizmet SID türü ayarı beri başarısız) burada :

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

Ardından yukarıdaki gibi izleyin.


NOT 2: NTP servisi otomatik olarak yeniden başlatılmaya başlamazsa, burada açıklandığı gibi başlangıç ​​ayarlarından kaynaklanıyor olabilir : pencerelerinize bağlı olarak, yalnızca bir etki alanına katıldığında başlayacak şekilde ayarlanmış olabilir. Kontrol edebilirsiniz:

sc qtriggerinfo w32time

Bir etki alanına katıldığınızda başlayacak şekilde yapılandırılmışsa ve makinenizde ayarlanmış bir etki alanınız yoksa, hizmeti başlatmayacak ve saati ayarlamayacaktır. Muhtemelen bir etki alanına katılmıyor çünkü bunu istemiyorsunuz. Her durumda, sadece hangi tetiği başlattığını değiştirin. Örneğin, makine ağa sahipken (ve dolayısıyla sunucuya erişebiliyorsa) başlamak için şunları yapın:

sc triggerinfo w32time start/networkon stop/networkoff


3

Komut satırından aşağıdaki gibi bilgileri alabilirsiniz:

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

En azından bu yöne gitmek için yeterli olmalı, yani sorunuzu anladıysam. AFAIK, 'reg' komutu, doğru hizmetlere sahip olduğunuz sürece tüm bu farklı platformlarda çalışır.


Aldım: "HATA: Sistem belirtilen kayıt defteri anahtarını veya değerini bulamadı." O ... başlatılmadı W32Time'nın çıkıyor
MSB

Yani " [\\machine\]" aynı makinede bırakılabileceği anlamına mı geliyor?
Peter Mortensen

2

Bir göz atın w32tmkomut satırı aracı. Yapılandırmayı ayarlayabilir ve sorgulayabilir ve zaman diliminin bir / striptiz çizelgesini başka bir bilgisayarla bildirebilir.


1
Bu /queryseçenek XP'de mevcut değildir.
Iszi

5
Dene net time /querysntp.
Fran,

1
@Fran Bu işe yarıyor. Platformlar arası bir komut almayı umuyordum, ancak iki farklı komut kullanmam gerekebilir - ya da hangi komutları çalıştıracağını belirlemek için platform algılaması içeren bir toplu iş dosyası yazmam gerekebilir.
Iszi

1
@lszi Komut dosyalarımda, C: \ kullanıcılarının varlığını test ederim. Bu klasörü bulursam, XP sonrası kutusundaki olduğumu biliyorum.
Fran,

1
@Fran Her iki komutu da içeren kendi cevabınızı yazabilir misiniz? Ayrıca, XP'nin son başarılı senkronizasyon zamanını kontrol etmek için hangi komutu kullanırdım?
Iszi
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.