2

【茶包射手日記】走針的 Windows

 1 year ago
source link: https://blog.darkthread.net/blog/win-click-sync-issue/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【茶包射手日記】走針的 Windows

calendar.svg 2022-07-13 11:59 PM comment.svg 3 eye.svg 3,881

手邊有幾台 Windows 測試主機出現系統時間不準的狀況。主機隸屬同一 AD 網域,理論上會自動向 DC 校時,但這幾台主機時鐘有快有慢,彼此甚至差三分鐘以上(最多到 207 秒),對照 Log 記錄或資料寫入時間變得極為困難,讓我沒法置之不理。

撈過界進場研究了一下,學到新知識,也解決了問題。

處理 Windows 時間同步問題,基本上全靠萬用工具 - w32tmWindows Time Service (W32Time),常用指令如下:

# 查看本機時鐘與校時來源的時差
w32tm /query /status
# 立即與校時來源同步時間
w32tm /resync
# 查看網域 DC 與本機時鐘的時差
w32tm /monitor
# 查看指定 NTP 伺服器與本機時鐘的時差
w32tm /monitor /computers:watch.stdtime.gov.tw
# 設定網域 DC 作為同步來源 (需重啟 W32Time 服務)
w32tm /config /syncfromflags:domhier /update
# 指定 NTP 伺服器作為同步來源 (需重啟 W32Time 服務)
w32tm /config /manualpeerlist:watch.stdtime.gov.tw /syncfromflags:manual /update
# 重啟 W32Time 服務
net stop w32time
net start w32time
# 註冊 W32Time 服務,寫入預設 Registry
w32tm /register 
# 取消註冊 W32Time 服務,清除設定相關 Registry
w32tm /unregister

這幾台機器使用 DC 作為校時來源,W32Time 服務也有執行,理論上會系統時間會定期與 DC 同步,就算沒有,手動執行 w32tm /resysnc 也該被校正。但排除原本設定有誤,我在每台機器重新設定 w32tm /config /syncfromflags:domhier /update 以 DC 為校時來源,重啟 W32Time 服務並 w32tm /resync 後,大部分機器時間已正常(註:當系統時間差異較大時,不會一次調到正確時間,會分次逐步靠攏),但獨獨有一台快了 170 秒,怎麼 resync 都校正不回來。

仔細查看 w32tm /query /configuration 顯示的系統設定,發現一處可疑:

Fig1_637933250388568041.png

問題主機是台 VM,TimeProviders 有個 VMICTimeProviver,Enabled 旗標為 1,我不知道會不會對同步造成影響,但既然要以 DC 時間為準,把它停用可以排除干擾,應該是有益無害。修改 Registry 將 Enabled 改成 0:

Fig2_637933250389301326.png

重啟 W32Time 服務再跑一次 resync,觀察到時間誤差逐漸縮小,走針的 Windows 總算回歸正途。

and has 3 comments

Comments

Post a comment

Comment
Name Captcha 58 - 14 =

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK