Windows中W32TIME时间校正程序可以在注册表中修改时间间隔。
假设在注册表中设置时间间隔为5分钟,此时修改本地时间,5分钟后自动校正。
目前到这里都没问题,但是因为这一次校正成功,我继续恶意修改本地时间,
我们打开右下角的时间,打开Internet时间发现,时间校正的间隔就不再是5分钟,可能是20分钟,30分钟,1天。
这个问题是微软刻意设置的还是我本机的问题?
另外这个W32TIME程序在服务中打开常常处于停止状态,设置为自动并手动启动之后,经过一段时间又会变成停止状态。
这个问题有没有具体的文档说明,https://technet.microsoft.com/zh-cn/library/cc773263.aspx。这个链接并没有关于参数SpecialPollInterval的太多说明,只说了默认值为1小时。
找到原因,WINDOWS系统对时间同步设有具体的同步频率控制的机制。
也就是说假设45分钟同步一次,成功三次后,下一次同步就是一天之后。(具体参数可以查阅相关说明文档)。
那么我们可以采用强制通知的脚本去完成需求,强制同步命令为如下:
w32tm /resync
若无法同步,可以强制时钟源再进行强制同步,命令如下:
w32tm /config /manualpeerlist:"IP地址" /syncfromflags:manual /reliable:yes /update
w32tm /resync
以上