![W32Time 不遵守 MaxPosPhaseCorrection 设置](https://linux22.com/image/788413/W32Time%20%E4%B8%8D%E9%81%B5%E5%AE%88%20MaxPosPhaseCorrection%20%E8%AE%BE%E7%BD%AE.png)
我在 Windows Server 2019 上使用 W32Time 服务时遇到问题,它不遵守正时间偏移的默认限制(MaxPosPhaseCorrection/MaxNegPhaseCorrection = 15 天)。该服务器在 AWS 上以非域加入方式运行,并且时间服务配置为使用 Amazon 时间同步服务。
有时,亚马逊的服务会返回无效的同步数据,与实际值相差数周甚至一个月。W32Time 会在事件日志中报告巨大差异作为警告,并且仍然将服务器时间移出限制。然后在几个小时后,它会将服务器时间恢复到正常值。
关于如何控制这种行为有什么建议吗?
答案1
这可能是由于 Windows Server 2016+ 中的一项功能。当时间同步暂时不可用时,请使用来自 TLS 数据包的时间戳。不幸的是,有时时间戳会包含其他应用程序出于其他目的插入的随机数据,因此不应依赖它。
安全时间播种
此功能可确定传出 SSL 连接的大致当前时间。此时间值用于监控本地系统时钟并纠正任何严重错误。在具有可靠时间源和受良好监控的机器(包括监控时间偏移)的部署中,您可以选择不使用安全时间播种功能,而是依靠现有的基础设施。
您可以按照以下步骤禁用该功能:
将 UtilizeSSLTimeData 注册表值设置为 0:
reg add HKLM\SYSTEM\CurrentControlSet\Services\w32time\Config /v UtilizeSslTimeData /t REG_DWORD /d 0 /f
如果由于某种原因无法立即重新启动计算机,则可以通知 W32time 服务有关配置更新的信息。这将停止基于从 SSL 连接收集的时间数据的时间监控和执行。
W32tm.exe /config /update