最近在server 2008 r2 上引入了GPS时钟,给同一个局域网的其他终端对时,考虑到简单的原则,想在其他终端直接用NET TIME 写个批处理就好,但是,在DOS窗口试运行NET TIME的时候出现了错误5,拒绝访问,在百度上搜索了半天没有发现好的解决办法,最后在DSCN上看到有一个人说他也是遇到同样的错误,但是,在终端上访问时钟源这台服务器的共享后,发现NET TIME可以成功了,后来又在网上看到了另外一个人写的帖子,我想,也许解决的思路就作者所说的,就是一个信任机制的问题。现贴出作者全文,如果有知道更多的,希望可以留言讨论。

原帖子链接:http://xudong.name/archives/408/

全文如下:


两台电脑间同步时间

2011/12/11 | Filed under: 网络 and tagged with: 技巧

需要在两台计算机间同步时间,其实就是局域网同步时间,找到命令

net time \\192.168.0.1 /set /y

但是会出现“发生系统错误 5”。出现这样的错误是因为客户端还没有登录进时间源服务器,客户机需要登录进服务器才能取得时间。使用Guest用户登录进时间源服务器就可以

net use \\192.168.0.1 “123″ /user:”Guest”

net use后面跟服务器ip,再后面是Guest用户的密码123,然后加user参数填上用户名,如果Guest没有设定密码,双引号不填内容。需要注意的是,很多进过360安全卫士优化过的系统禁用了Guest用户,需要手动打开用户,或者在服务器上新建一个用户专门用来同步时间。

可以建一个批处理来同步时间,保存为timesync.bat文件:

net use \\192.168.0.1 “” /user:”Guest”
net time \\192.168.0.1 /set /y
net use * /del /y
exit

把这个批处理添加到计划任务里面,设定为每天运行,即可每天在指定的时间同步。运行计划任务需要Task Scheduler服务开启,同样的,有些优化过的系统会关闭此项服务,在服务中设定为自动启动即可。

计划任务运行时会有命令窗口闪过,如果不要弹出命令窗口,可以在timesync.bat文件的同一目录里面新建run.vbe文件:

set ws=wscript.createobject(“wscript.shell”)
ws.run “timsync.bat /start”,0

将计划任务中的批处理换成run.vbe就可以了,为了防止有时连不上服务器,造成命令一直无法终止,可以在计划任务的设置选项卡中,将任务的运行时间设为5分钟,防止任务卡壳。