मैं सिस्टम के वर्तमान NTP कॉन्फ़िगरेशन की जांच कैसे कर सकता हूं?


65

मुझे कुछ विंडोज सिस्टम पर वर्तमान NTP कॉन्फ़िगरेशन को सत्यापित करने की आवश्यकता है। आदर्श रूप से, मैं कॉन्फ़िगरेशन स्क्रीन के माध्यम से नेविगेट करने के बजाय कमांड लाइन के माध्यम से ऐसा करने में सक्षम होना चाहता हूं।

(मैं कई अलग-अलग ओएस संस्करणों पर काम कर रहा हूं, और कॉन्फ़िगरेशन स्क्रीन हमेशा संस्करणों में एक ही स्थान पर नहीं होती हैं।)

मैं एक त्वरित, यादगार कमान खोजने की उम्मीद कर रहा हूं जिसका परिणाम प्राप्त करने के लिए मैं बस एक सीएमडी कंसोल में पंच कर सकता हूं। एक बैच फ़ाइल जिसे मैं अपने साथ ले जा सकता हूं, वह अभी भी करेगा।

विशेष रूप से, मुझे निम्नलिखित की आवश्यकता है:

  • दिखाएँ कि क्या सिस्टम एनटीपी सर्वर से समय प्राप्त करने के लिए कॉन्फ़िगर किया गया है या नहीं।
  • NTP सर्वर दिखाएँ (सिस्टम) से समय प्राप्त कर रहा है।
  • अंतिम सिंक्रनाइज़ेशन का समय दिखाएं।
  • सिस्टम पर वर्तमान समय दिखाएं।

इन परिणामों को प्राप्त करने के लिए क्या आदेश होगा?

एक समाधान की तलाश है जो विंडोज एक्सपी, 7, सर्वर 2003 और सर्वर 2008 के साथ क्रॉस-संगत हो।


मैं समय की जांच करना जानता हूं कि आप दूरस्थ पीसी का समय पाने के लिए "शुद्ध समय \\ कम्प्यूटरीकरण" कर सकते हैं। मुझे नहीं लगता कि शुद्ध समय आपको अंतिम सिंक देखने देता है ... हालाँकि "शुद्ध समय?" एक सेट विकल्प देता है, इसलिए यह 1/2 है कि आपकी क्या तलाश है।
१६'१२

@ केइल मुझे अभी पता चला है कि net time /querysntpसर्वर से पता चलता है। बाकी इसे हासिल करना मुश्किल हो सकता है।
इस्ति

3
विंडोज 7 में नेट टाइम / क्वेरीसपेंट को हटा दिया गया है।
डैनियल

जवाबों:


82

कमांड लाइन में, टाइप करें

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

w32tm /query /configuration आपके द्वारा सेट किया गया कॉन्फ़िगरेशन आपको देता है।

w32tm /query /status आपको इस तरह की जानकारी देता है:

  • परत
  • छलांग लगाने का सूचक
  • शुद्धता
  • अंतिम सिंक
  • NTP सर्वर
  • चुनाव अंतराल

time /T वर्तमान सिस्टम समय को आउटपुट करता है।

नोट: w32tm /queryपहली बार विंडोज विस्टा और विंडोज सर्वर 2008 के विंडोज टाइम क्लाइंट संस्करणों में उपलब्ध कराया गया था। विंडोज टाइम सर्विस टूल्स और सेटिंग्स देखें


5
XP पर अच्छा नहीं। "कमांड / क्वेरी अज्ञात है।"
इस्जी

time /tटास्कबार के नीचे दाईं ओर दिखाए गए समय और अंतर के बीच क्या अंतर है ?
पचेरियर

पहली बार, w32tm /query /configurationमुझे "निम्न त्रुटि हुई: प्रवेश निषेध है। (0x80070005)" । मुझे लगता है कि मेरे पास पर्याप्त अधिकार हैं।
पीटर मोर्टेंसन

3
आपको उस एक के लिए एक उन्नत कमांड विंडो में होना चाहिए।
फिलिप आर। 13

16

यह आपके अंतिम प्रश्न का उत्तर देता है:

कमांड प्रॉम्प्ट खोलें और ठीक टाइप करें:

w32tm /stripchart /computer:NTPServerNameOrIP /dataonly /samples:x (आपको कितने रिटर्न चाहिए)

यह NTP सर्वर समय के लिए समय और अंतर लौटाता है। यदि यह समय देता है, त्रुटि: 0x80072746 तो वह आपका NTP सर्वर नहीं है।

एक कमांड का एक उदाहरण नीचे दिया गया है:

कमांड उदाहरण


क्या आप इस उत्तर को प्रारूपित कर सकते हैं?
रामहुंड

जिस तरह से यह स्व-प्रारूप अजीब है। संशोधन किया है
बायरन

8

मैंने कोशिश की:

w32tm /query /status

मुझे मिला:

The command /query is unknown.

एक अलग मशीन में, मुझे मिला:

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

फिर मैंने कोशिश की:

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

मुझे मिला:

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

फिर मैंने कोशिश की:

net time /querysntp

मुझे मिला:

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.

इसलिए, मूल रूप से, सेवा नहीं चल रही थी। के बाद इन निर्देशों का, मैंने किया था:

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.5 मेरा स्थानीय NTP सर्वर है)। यदि आप स्थानीय NTP सर्वर का उपयोग नहीं कर रहे हैं, तो आप सामान्य का उपयोग कर सकते हैं:

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

अंत में, आपको निम्नलिखित कार्य करने की आवश्यकता हो सकती है, जो मेरे लिए आवश्यक नहीं था:

w32tm /config /update
w32tm /resync /rediscover

नोट: यदि net start w32timeत्रुटि १२ ९ ० के साथ विफल हो जाती है (एक ही प्रक्रिया में एक या एक से अधिक सेवाओं की असंगत सेवा 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

4

उपयोग:

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/


3

कमांड लाइन से आप इस तरह की जानकारी प्राप्त कर सकते हैं:

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

ऐसा लगता है कि कम से कम उस दिशा में जाने के लिए पर्याप्त होना चाहिए, अर्थात, अगर मैंने आपके प्रश्न को समझा। AFAIK, 'reg' कमांड इन सभी विभिन्न प्लेटफार्मों पर काम करता है जब तक कि आपके पास सही सेवाएं चल रही हों।


मुझे मिला: "त्रुटि: सिस्टम निर्दिष्ट रजिस्ट्री कुंजी या मान को खोजने में असमर्थ था।" यह पता चला है कि W32Time की शुरुआत नहीं हुई थी ...
एमएसबी

तो " [\\machine\]" का अर्थ है कि क्या इसे उसी मशीन पर छोड़ा जा सकता है?
पीटर मोर्टेंसन

2

w32tmकमांड-लाइन टूल पर एक नज़र डालें । यह कॉन्फ़िगरेशन को सेट और क्वेरी कर सकता है और किसी अन्य कंप्यूटर के साथ ऑफ़सेट समय की / स्ट्रिपचर रिपोर्ट कर सकता है।


1
/queryविकल्प XP पर उपलब्ध नहीं है।
इस्ज़

5
कोशिश करो net time /querysntp
फ्राई

1
@Fran कि काम करता है। मैं एक आदेश प्राप्त करने की उम्मीद कर रहा था जो क्रॉस-प्लेटफ़ॉर्म था, लेकिन ऐसा लगता है कि मुझे दो अलग-अलग का उपयोग करना पड़ सकता है - या एक बैच फ़ाइल लिखनी है जिसमें प्लेटफ़ॉर्म डिटेक्शन शामिल है जो यह निर्धारित करने के लिए कि कौन सी कमांड को चलाना है।
इस्ति

1
@lszi मेरी स्क्रिप्ट में, मैं C: \ users के अस्तित्व के लिए परीक्षण करता हूं। अगर मुझे वह फ़ोल्डर मिल जाए, तो मुझे पता है कि मैं एक पोस्ट-एक्सपी बॉक्स पर हूं।
फ्राई

1
@Fran क्या आप अपना जवाब लिख सकते हैं जिसमें दोनों कमांड शामिल हैं? साथ ही, XP के लिए अंतिम सफल सिंक समय की जांच करने के लिए मैं किस कमांड का उपयोग करूंगा?
इस्जि
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.