批量获取客户端时间误差

【摘要】服务器

运维管理员每每须要按期查看客户端的时间同步状况,与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进行后续筛选处理。

相关文章
相关标签/搜索