Làm cách nào để kiểm tra cấu hình NTP hiện tại của hệ thống?


65

Tôi cần xác minh cấu hình NTP hiện tại trên một số hệ thống Windows. Lý tưởng nhất, tôi muốn có thể thực hiện điều này thông qua dòng lệnh thay vì điều hướng qua các màn hình cấu hình.

(Tôi đang làm việc trên một số phiên bản HĐH khác nhau và màn hình cấu hình có xu hướng không phải lúc nào cũng ở cùng một nơi trên các phiên bản.)

Tôi hy vọng sẽ tìm thấy một lệnh nhanh chóng, đáng nhớ mà tôi có thể chỉ cần đấm vào bảng điều khiển CMD để nhận kết quả. Một tập tin bó tôi có thể mang theo bên mình cũng sẽ làm tốt như vậy.

Cụ thể, tôi cần những điều sau đây:

  • Hiển thị xem hệ thống có được cấu hình để nhận thời gian từ máy chủ NTP hay không.
  • Hiển thị (các) máy chủ NTP mà hệ thống đang nhận thời gian từ đó.
  • Hiển thị thời gian đồng bộ hóa cuối cùng.
  • Hiển thị thời gian hiện tại trên hệ thống.

Lệnh nào sẽ cần thiết để đạt được những kết quả này?

Tìm kiếm một giải pháp tương thích chéo với Windows XP, 7, Server 2003 và Server 2008.


Tôi biết để kiểm tra thời gian bạn có thể thực hiện "net time \\ computername" để lấy thời gian của máy tính từ xa. Tôi không nghĩ thời gian thực cho phép bạn xem đồng bộ hóa cuối cùng mặc dù ... tuy nhiên "thời gian thực?" đưa ra một tùy chọn thiết lập, vì vậy nó giống như 1/2 so với những gì bạn đang tìm kiếm.
Supercereal

@Kyle Tôi chỉ cần tìm ra rằng net time /querysntpcho thấy máy chủ. Lấy phần còn lại của nó có thể là khó khăn.
Iszi

3
Trong Windows 7 thời gian thực / truy vấn không được chấp nhận.
Daniel

Câu trả lời:


82

Trong dòng lệnh, gõ

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

w32tm /query /configuration cung cấp cho bạn cấu hình bạn đã thiết lập.

w32tm /query /status cung cấp cho bạn thông tin như:

  • địa tầng
  • chỉ số nhảy vọt
  • độ chính xác
  • đồng bộ hóa cuối cùng
  • Máy chủ NTP
  • Khoảng thăm dò

time /T đầu ra thời gian hệ thống hiện tại.

Lưu ý: w32tm /querylần đầu tiên có sẵn trong các phiên bản máy khách Windows Time của Windows Vista và Windows Server 2008. Xem Cài đặt và Công cụ dịch vụ Windows Time


5
Không tốt trên XP. "Lệnh / truy vấn không xác định."
Iszi

Sự khác biệt giữa time /tvà thời gian hiển thị ở phía dưới bên phải của thanh tác vụ là gì?
Pacerier

Đầu tiên, w32tm /query /configurationtôi nhận được "Xảy ra lỗi sau: Truy cập bị từ chối. (0x80070005)" . Tôi nghĩ rằng tôi có đủ quyền.
Peter Mortensen

3
Bạn cần phải ở trong một cửa sổ lệnh nâng cao cho cái đó.
Phillip R.

16

Điều này trả lời câu hỏi cuối cùng của bạn:

Mở một dấu nhắc lệnh và gõ chính xác:

w32tm /stripchart /computer:NTPServerNameOrIP /dataonly /samples:x (bạn muốn có bao nhiêu lợi nhuận)

Nó trả về thời gian và sự khác biệt với thời gian máy chủ NTP. Nếu nó trả về thời gian, lỗi: 0x80072746 thì đó không phải là máy chủ NTP của bạn.

Một ví dụ về lệnh dưới đây:

Ví dụ lệnh


Bạn có thể vui lòng định dạng câu trả lời này?
Ramhound

Cách nó tự định dạng là lạ. Đã sửa đổi
Byron

8

Tôi đã thử:

w32tm /query /status

Tôi đã nhận:

The command /query is unknown.

Trong một máy khác, tôi nhận được:

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

Sau đó tôi đã thử:

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

Tôi đã nhận:

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

Sau đó tôi đã thử:

net time /querysntp

Tôi đã nhận:

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

Trong một máy khác, tôi nhận được trang trợ giúp, cũng nói:

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

Vì vậy, về cơ bản, dịch vụ không chạy. Làm theo các hướng dẫn này , tôi đã làm:

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

Cuối cùng, tất cả các bên trên sẽ làm việc. (lưu ý: nếu net startthất bại, xem bên dưới) Sau đó, tôi chỉ cần thiết lập ntp của mình ... Tôi đã làm điều đó với:

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

làm theo hướng dẫn từ đây , nhưng có lẽ nó có thể dễ dàng như:

net time /setsntp:10.0.0.5

theo hướng dẫn ở đây . (10.0.0.5 là máy chủ NTP cục bộ của tôi). Nếu bạn không sử dụng máy chủ NTP cục bộ, bạn có thể sử dụng máy chủ chung:

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

Cuối cùng, bạn có thể cần phải làm như sau, điều này không cần thiết đối với tôi:

w32tm /config /update
w32tm /resync /rediscover

LƯU Ý: nếu net start w32timekhông thành công với lỗi 1290 (Dịch vụ bắt đầu không thành công do một hoặc nhiều dịch vụ trong cùng quy trình có cài đặt loại SID dịch vụ không tương thích), hãy làm theo các bước tại đây :

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

Sau đó làm theo như trên.


CHÚ THÍCH 2: nếu dịch vụ NTP không tự động khởi động lại, thì đó có thể là do cài đặt bắt đầu, như được mô tả ở đây : tùy thuộc vào cửa sổ của bạn, nó có thể được đặt để chỉ bắt đầu khi tham gia một miền. Bạn có thể kiểm tra với:

sc qtriggerinfo w32time

Nếu nó được cấu hình để bắt đầu khi bạn tham gia một tên miền và bạn không có một tên miền được thiết lập trong máy của mình, nó sẽ không khởi động dịch vụ và đặt thời gian. Nó có thể không tham gia một tên miền vì bạn không muốn nó. Trong mọi trường hợp, chỉ cần thay đổi kích hoạt bắt đầu nó. Ví dụ: để bắt đầu khi máy có mạng (và do đó có thể truy cập máy chủ), hãy làm:

sc triggerinfo w32time start/networkon stop/networkoff


3

Từ dòng lệnh bạn có thể nhận được thông tin như thế này:

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

Có vẻ như điều đó là đủ ít nhất để đi theo hướng đó, nghĩa là, nếu tôi hiểu câu hỏi của bạn. AFAIK, lệnh 'reg' hoạt động trên tất cả các nền tảng khác nhau miễn là bạn có các dịch vụ phù hợp đang chạy.


Tôi nhận được: "LRI: Hệ thống không thể tìm thấy khóa hoặc giá trị đăng ký được chỉ định." Hóa ra W32Time chưa được bắt đầu ...
msb

Vậy " [\\machine\]" có nghĩa là nó có thể bị bỏ đi nếu trên cùng một máy?
Peter Mortensen

2

Hãy nhìn vào w32tmcông cụ dòng lệnh. Nó có thể thiết lập và truy vấn cấu hình và báo cáo / thoát khỏi thời gian bù với máy tính khác.


1
Các /querytùy chọn là không có sẵn trên XP.
Iszi

5
Hãy thử net time /querysntp.
Fran

1
@Fran Điều đó hoạt động. Tôi đã hy vọng nhận được một lệnh là đa nền tảng, nhưng có vẻ như tôi có thể phải sử dụng hai lệnh khác nhau - hoặc viết một tệp bó bao gồm phát hiện nền tảng để xác định (các) lệnh nào sẽ chạy.
Iszi

1
@lszi Trong các tập lệnh của tôi, tôi kiểm tra sự tồn tại của người dùng C: \. Nếu tôi tìm thấy thư mục đó, tôi biết tôi đang ở trong hộp hậu XP.
Fran

1
@Fran Bạn có thể viết câu trả lời của riêng bạn bao gồm cả hai lệnh không? Ngoài ra, tôi sẽ sử dụng lệnh nào để kiểm tra thời gian đồng bộ hóa thành công cuối cùng cho XP?
Iszi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.