批量獲取客戶端時間誤差

【摘要】服務器

運維管理員每每須要按期查看客戶端的時間同步狀況,與NTP服務器的時間誤差。奈何數量衆多,若不借助第三方工具是否有辦法批量獲取時間差呢?本文將介紹如何簡單使用命令解決問題。運維

【正文】dom

1、 使用psexec工具

針對遠程批量收集客戶端時間問題,能夠借用psexec.exe工具(下載連接:http://technet.microsoft.com/en-us/Sysinternals/bb897553.aspx),原理是遠程登陸到目標計算機而後運行命令行,方法以下(注:如下[括號中內容]爲須要根據實際狀況修改內容,並注意實際中不須要輸入[括號]):ide

1. 在域內NTP服務器上運行cmd,導航到psexec.exe路徑下,例如e:\;工具

2. 建立一個計算機清單,如e:\pc.txt,裏面包含須要遠程的計算機IP地址,格式爲一行一個便可:命令行

192.168.0.1excel

192.168.0.2token

……ip

3. 建立用於存儲結果的文檔,如e:\time.txt;文檔

4. 方法一:運行命令(遠程得到主機名以及時間,反饋到發起計算機本地time.txt中):

e:\psexec @[e:\pc.txt] cmd /c "hostname & net time \\localhost" >[e:\time.txt]

(不添加用戶與密碼參數則自動使用當前權限)

或者:

e:\psexec –u [domainname\username] –p [password] @[e:\pc.txt] cmd /c "hostname & net time \\localhost" >[e:\time.txt]

(添加對清單計算機都有訪問權限的用戶名和密碼)

完成後在本地e:\time.txt能夠看到全部結果,並利用excel進行後續篩選處理

5. 方法二:運行命令(得到與指定NTP服務器的時間誤差,反饋到發起計算機本地time.txt中):

e:\psexec –u [domainname\username] –p [password] @[e:\pc.txt] cmd /c " w32tm /stripchart /computer:[NTPServer] /samples:1 /dataonly & hostname " >[e:\time.txt]

完成後在本地e:\time.txt能夠看到全部結果,並利用excel進行後續篩選處理

2、 循環使用w32tm命令

在域內NTP服務器上使用for…do…語句,目的是循環讀取pc.txt中的計算機清單而後逐個對比當前計算機的時間誤差,最後附加地寫入到time.txt中:

For /F "tokens=1" %a in ([e:\pc.txt]) do (w32tm /stripchart /computer:%a /samples:1 /dataonly & hostname) >>[e:\time.txt]

完成後在本地e:\time.txt能夠看到全部結果,並利用excel進行後續篩選處理。

相關文章
相關標籤/搜索