Làm cách nào để buộc đồng bộ hóa thời gian trên Windows Workstation hoặc Server?


Câu trả lời:


81

Như Kyle nói w32tm /resynclà cách hiện đại để làm điều này. Xem Liên kết này với Microsoft kiến ​​thức (KB 307897) để biết thêm thông tin về lệnh w32tm.

Ngoài ra còn net timecó phiên bản cũ hơn nhưng có lẽ dễ dàng hơn.


4
w32tm /resynccho biết "Máy tính không đồng bộ lại vì thời gian thay đổi yêu cầu quá lớn." vì pin CMOS của tôi đã hết và đồng hồ máy tính của tôi đặt lại trên mỗi lần khởi động vào 1/1/2000 12:00 AM. Có ai giúp đỡ không?
Không bao giờ thoát khỏi

Đã tìm thấy giải pháp theo blog.bruteforcetech.com/archives/911 , đừng quên khởi động lại dịch vụ W32Time net stop W32Timesau đó thử lạiw32tm /resync
Không bao giờ thoát khỏi

1
Liên kết bị hỏng.
Stijn Sanders

2
@LightnessRacesinOrbit và những người khác, nếu bạn gặp lỗi "thay đổi thời gian quá lớn", hãy sử dụng w32tm /resync /force. Nhưng nếu bạn không có dịch vụ bắt đầu, hãy chạy net start w32time. Cả hai từ một dấu nhắc nâng cao.
cdlvcdlv

4
Để giải quyết 'thay đổi thời gian quá lớn', hãy thay đổi các mục đăng ký MaxNegPhaseCorrection và MaxPosPhaseCorrection trong HKEY_LOCAL_MACHINE \ HỆ THỐNG \ CurrentControlset \ Services \ W32Time \ Config thành tối đa (ffffffff)
Tomas F.

37

Đối với những người vẫn còn hỏi câu hỏi này.

  1. Để cập nhật, sử dụng lệnh bên dưới (tương thích với máy chủ 2008 và 2012)

    w32tm /config /manualpeerlist:"ntp_server" /syncfromflags:manual /reliable:yes /update
    

thay đổi ntp_server với nguồn của bạn

  1. Khởi động lại dịch vụ thời gian

    net stop w32time
    net start w32time
    
  2. Đồng bộ lại thời gian

    w32tm /resync
    
  3. Xác minh trạng thái đồng bộ hóa của bạn

    w32tm /query /status
    

Các lệnh ở trên sẽ ổn nếu nguồn của bạn hoạt động chính xác và / hoặc kết nối của bạn vẫn ổn (tường lửa hoặc Microsoft Premfront cũng có thể là một vấn đề). Các lệnh dưới đây có thể giúp khắc phục sự cố

Để liệt kê ra

w32tm /query /peers

Để liệt kê các nguồn NTP:

w32tm /query /source

Đẹp, trả lời toàn diện! Xác định +1 cho lệnh để thiết lập máy chủ NTP.
Shaamaan

Lưu ý, điều này hoạt động cho Windows 10 Professional mà không có cờ "/ update" vì điều đó không hợp lệ.
Fmstrat

Để khắc phục sự cố, thường rất hữu ích khi kiểm tra kết nối đến một máy chủ cụ thể:w32tm /monitor /computers:time.windows.com
Randy Orrison


16

Bạn có thể dùng:

w32tm /resync

Ngoài ra, việc sử dụng w32tm /resync /rediscovercũng sẽ "buộc tái cấu trúc lại nguồn trước khi đồng bộ hóa lại."

Hoặc sử dụng:

net time /set

Sẽ nhắc bạn đặt thời gian cho DC. (Hoạt động cho các phiên bản Windows cũ hơn)


2
Vì một số lý do w32tm /resynckhông làm việc cho tôi nhưng net time /SET /Yđã làm. Tôi đã từng /Ycho net timevì nó dường như không đọc stdin đúng cách khi đi qua sshd từ Cygwin.
qwertzguy

Khi chạy, w32tm /resynctôi nhận được thông báo The computer did not resync because no time data was available.ngay cả sau khi khởi động lại dịch vụ nhưng net time /SEThoạt động đúng với tôi.
Chris Magnuson

3

HĐH: MS Windows 7

Tất cả các ý tưởng trên đã được thử nhưng không giúp được gì. Vấn đề ban đầu vẫn tồn tại: " Máy tính không đồng bộ lại vì thời gian thay đổi yêu cầu quá lớn. "

Giải pháp được tìm thấy trong sổ đăng ký: HKEY_LOCAL_MACHINE \ HỆ THỐNG \ CurrentControlset \ services \ w32time \ Config

  • thay đổi điều này nếu giờ địa phương vội vàng (ví dụ: ngày 31 tháng 12 năm 2050): MaxNegPhaseCorrection
  • thay đổi điều này nếu giờ địa phương bị trì hoãn (ví dụ: ngày 1 tháng 1 năm 1980): MaxPosPhaseCorrection
  • Các giá trị mặc định là 0xD2F0 (tức là 54000 giây. = 15 giờ)

(sử dụng Google để biết thêm chi tiết)

Tôi sử dụng win_clock_sync.battệp đơn giản này từ Start Menu StartUp:

echo off
echo Sync computer time from internet
echo.
echo Back-up registry w32time\Config
reg export HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\w32time\Config exported_w32time.reg /y
rem changing the registry keys temporarly:
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\w32time\Config /v MaxNegPhaseCorrection /d 0xFFFFFFFF /t REG_DWORD /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\w32time\Config /v MaxPosPhaseCorrection /d 0xFFFFFFFF /t REG_DWORD /f
echo.
echo w32tm /config /update
w32tm /config /update
echo.
echo w32tm /resync /rediscover 
w32tm /resync /rediscover 
echo.
echo Restore registry w32time\Config
reg import exported_w32time.reg

Thưởng thức! :-)


Câu trả lời của bạn có thể sử dụng giải thích về chức năng của các giá trị MaxNegPhaseCorrectionMaxPosPhaseCorrectionthay vì gợi ý rằng chúng nên bị vô hiệu hóa một cách mù quáng. Đó là những gì tập lệnh này làm bằng cách đặt dữ liệu của họ thành 0xFFFFFFFF .
Kẻ giả mạo Twisty

Bạn không thể bỏ qua thông báo lỗi được đề cập "Máy tính không đồng bộ lại vì thời gian thay đổi yêu cầu quá lớn." mà không thay đổi dữ liệu trong các giá trị MaxNegPhaseCorrection và MaxPosPhaseCorrection. Hoặc, BẠN đã tìm thấy bất kỳ giải pháp làm việc cho vấn đề ban đầu ?? Và tại sao bạn viết "mù quáng"? Nếu bạn mất một thời gian ngắn để đọc qua thì bạn có thể thấy việc xuất và nhập dữ liệu gốc của các giá trị này, hơi xa so với việc làm một cái gì đó "mù quáng".
Akos

Bạn nên để tập lệnh này thay đổi các giá trị thành bị vô hiệu hóa, buộc cập nhật và sau đó thay đổi chúng trở lại các giá trị được đề xuất.
Cory Knutson

Twisty có những điểm hợp lệ không thực sự tập trung vào vấn đề do NeverQuit nêu ra ... nhưng sau đó Akos vẫn chưa giải thích rõ ràng lý do tại sao kịch bản là một giải pháp phù hợp cho NeverQuit. Về bản chất, các giá trị Đăng ký MaxNegPhaseCorrection và MaxPosPhaseCorrection tồn tại để ngăn dịch vụ W32Time áp dụng các thay đổi đáng kể cho thời điểm hiện tại [trong trường hợp như nguồn thời gian bên ngoài sẽ bị hỏng]. nguồn thời gian đáng tin cậy, sau đó các điều khiển hiệu chỉnh sẽ ngăn w32tm sửa lỗi trôi lớn. Trong tình huống này ::: b
Creaky_Uncle_Nick

@Akos Downvote rút lại dựa trên việc bạn chỉ ra rằng tập lệnh của bạn thực sự hoàn nguyên các thay đổi đối với MaxNegPhaseCorrectionMaxPosPhaseCorrectioncác giá trị. Tôi vẫn khuyến khích bao gồm giải thích về những gì hai cài đặt này làm vì chúng là tính năng chính trong câu trả lời của bạn và điều quan trọng là quản trị viên phải biết rằng họ nên đặt các cài đặt này vĩnh viễn, họ sẽ định cấu hình hệ thống của họ để chấp nhận thay đổi thời gian, bất kể lớn đến đâu, có thể phá vỡ Kerberos và các dịch vụ mạng quan trọng khác.
Kẻ giả mạo Twisty

2

Powershell một lớp lót nếu máy chủ ntp được cấu hình:

gsv w32time | sasv; w32tm /resync /force

Bạn có thể đặt tệp .bat này vào phần khởi động nếu bạn batery không thành công để nó có thể đồng bộ lại khi khởi động hệ điều hành:

@powrshell -NoProfile -Command 'gsv w32time | sasv; w32tm /resync /force'

/forcekhông phải là một tùy chọn dòng lệnh tài liệu cho w32tm /resync.
Đại


0

Hãy thử theo thứ tự này. Hoạt động mọi lúc.

w32tm /unregister

w32tm /register

net stop w32time

net start w32time

w32tm /resync

0

Hầu như không có giải pháp nào (ngoại trừ @Akos) hoạt động nếu máy chủ là Bộ điều khiển miền Active Directory (ADDC) của Windows Server 2016, vì nó tự coi là nguồn "đáng tin cậy" không thể thay đổi thời gian lớn.

w32tm /resync /forcekhông hoạt động, vì /forcekhông xuất hiện trong máy chủ 2016.

net time /SET /Y cũng không hoạt động, bởi vì nó sẽ hỏi:

Bạn có muốn đặt thời gian của máy tính cục bộ để khớp với thời gian \AD.example.netkhông? (Y / N) [Y]

Tất nhiên, nó sẽ không hoạt động nếu bạn tiếp tục AD.example.net, /Ychỉ ẩn câu hỏi.

Các bước làm việc với tôi bằng PowerShell:

  1. Đặt dịch vụ w32time là không đáng tin cậy :
w32tm /config /reliable:no /syncfromflags:manual /update

Tùy chọn /syncfromflags:manualcó nghĩa là đồng bộ hóa với NTP được liệt kê trong danh sách ngang hàng (tức là NTP bên ngoài), /updateđể thông báo cho dịch vụ thời gian mà cấu hình đã thay đổi.

  1. Khởi động lại w32time
Stop-Service w32time
Start-Service w32time
  1. Đồng bộ hóa
w32tm /resync

Điều này nên làm việc.

  1. Nếu bạn cần ADDC làm nguồn thời gian đáng tin cậy, hãy làm cho nó đáng tin cậy trở lại:
w32tm /config /reliable:yes /update
Stop-Service w32time
Start-Service w32time

0

Tôi có một hình ảnh Win10 mà tôi có thể khôi phục lại một ảnh chụp nhanh trong đó thông báo lỗi này luôn có thể tái tạo: "The computer did not resync because the required time change was too big."

Tôi đã cố gắng để kịch bản một giải pháp cho vấn đề này nhưng không có kết quả:

reg import nettime.reg # updates MaxPosPhaseOffset and MaxNegPhaseOffset

net start w32time
w32tm.exe /config /manualpeerlist:"pool.ntp.org",0x8 /syncfromflags:manual /reliable:no /update  
w32tm.exe /query /configuration
w32tm.exe /resync /rediscover
w32tm.exe /resync /force

Không /reliable:nophải MaxPosPhaseCorrectioncài đặt cũng như bất kỳ lệnh nào khác được chỉ ra ở đây đều hoạt động ngay lập tức theo cách có thể lặp lại.

Sau khi cập nhật sổ đăng ký, khởi động dịch vụ, cập nhật cấu hình và khởi động lại dịch vụ, tôi vẫn phải đợi nhiều phút trước khi tôi w32tm /resync /rediscoverthành công.

Đồng bộ hóa thời gian cuối cùng cũng thành công, chỉ là không kịp thời và đáng tin cậy.

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.