w32tm / resync不能立即工作

这个问题主要是为了让别人学习和满足自己的好奇心,如果有人知道为什么它做到以下几点。

我们的DC由于虚拟化而没有适当的时间,这个问题已经解决了。 但是我们的一些客户和服务器需要更新的时间。 所以我尝试运行下面的命令作为pipe理员w32tm / query / source,以确保它是从我们的域控制器获得的时间,然后w32tm / resync同步时间,两个命令没有错误,但时间没有改变。

我在事件日志中看到类似于以下行的内容。 系统时间从2014-09-08T21:31:33.342455400Z变更为2014-09-08T21:31:33.328000000Z。

所以我多次尝试这个命令,没有任何改变,在Google上search了一下,只是回来发现客户现在有适合的时间,但事件日志中没有新东西。

我尝试了第二个客户,结果相同,但是我没有离开客户,而是在日志周围戳了一下,出于纯粹的运气,我低头看着时钟,发现时间越来越接近真实时间。 它正在放缓回到正确的时间。 时钟会不时地上升2秒钟,或者在整秒钟之前,秒钟会变成下一个数字。 它会这样做,直到时钟到达正确的时间。

我的问题是为什么这样做? 为什么不把时间改变到正确的时间,就像我的个人电脑一样,把时间同步到NTP服务器呢?

显然这是devise:

如果客户端的本地时钟时间比服务器的时间less三分钟,W32Time将把时钟频率减半或减半,以使时钟同步。 如果客户less于15秒,则将频率减半; 否则,它将按四分之一的频率。 时钟花费在不寻常的频率上的时间量取决于正在被校正的偏移的大小

http://blogs.msmvps.com/acefekay/2009/09/18/configuring-the-windows-time-service-for-windows-server/

我找不到明确解释为什么它是这样devise的参考,但是我猜想目标是避免在其他应用程序使用内部时钟来计时的情况下突然跳转。 所以如果偏移量低,那么通过调整本地时钟速率来使用“收敛”方法。 如果差异是3分钟或更长,那么认为Kerberos身份validation失败(> 5分钟时钟差异)的风险比“跳跃”本地时钟涉及的风险更严重,所以时钟刚刚被重置而不是收敛