自动比默认时间更频繁地同步Windows时间


21

我有几台浪费时间的PC,我希望Windows将它们与Internet时间更频繁地同步。我认为Windows默认每天仅尝试更新一次,如果时间服务器不可用(这似乎经常发生),则不会更新,这意味着PC可能会出现20或30秒的故障。

我想创建一个计划任务以每5分钟执行一次,如果默认时间服务器不可用,请使用mul


2
确定相关计算机无法连接到时间服务器的原因是否更容易?
Ramhound


默认服务器也经常使我失望。尝试将其更改pool.ntp.org为此答案中
jan-glx

Answers:


14

伙计们,我使用内置于w32tm的Windows和计划任务运行此程序(请参见下文)。

第一步是将w32tm配置为使用许多不同的时间服务器(并进行日志记录,以便我们可以看到发生了什么事情)。第二步是在任务计划程序中计划w32tm。我喜欢这个解决方案,因为它不需要任何第三部分工具。设置不同的时间服务器确实很重要,因为我发现它们经常不响应。

配置w32tm

打开命令提示符(以管理员身份运行以下命令)

w32tm /config /manualpeerlist:"time.nist.gov time.windows.com time-nw.nist.gov time-a.nist.gov time-b.nist.gov time-a.timefreq.bldrdoc.gov time-b.timefreq.bldrdoc.gov time-c.timefreq.bldrdoc.gov utcnist.colorado.edu" /syncfromflags:manual /update

w32tm /query /configuration

检查以确保NTP服务器列表已正确更新,即它反映了您刚刚输入的对等列表

w32tm /debug /enable /file:C:\windows\temp\w32time.log /size:10000000 /entries:300

浏览到目录并检查是否已创建日志

手动更改系统时间(以使时间现在不同步),然后返回命令提示符并运行resync命令

w32tm /resync

检查系统时间已更新。**如果您收到有关未启动时间服务的错误,则可以使用命令,net start w32time然后尝试重新同步

如果出现以下错误:The compter did not resync because the required time change was too big.然后使用此命令重新同步:w32tm /resync /force

如果此操作成功完成,那么您所要做的就是配置以下计划的任务,使其根据需要的频率运行(它将使用上面配置的对等列表)。

时间表W32TM

程序/脚本参数

%windir%\system32\sc.exe start w32time task_started
%windir%\system32\w32tm.exe /resync

1
默认情况下,Windows Time 至少每9.1小时获取一次更新时间。这由该MaxPollInterval链接上讨论的注册表项控制。该条目的数据使用公式转换为秒2^Value。例如,如果MaxPollInterval的值为11,则2^11=2048sec=34minutes。对于那些谁想要减少更新频率,而不使用计划任务,只需更改此注册表项,然后重新启动Windows时间服务与net stop w32timenet start w32time
我说恢复莫妮卡的时间

/entries:300”不是正确的选择。它只会显示用代码#300记录的条目,根本不是很多条目。想法是使用此参数作为要显示的条目号列表,因此“ /entries:0-300”将显示日志中所有可能的事件。
MikeB

9

转到控制面板>管理工具>任务计划程序

左侧是文件夹树,展开:任务计划程序库> Microsoft> Windows>时间同步

右键单击任务:SynchronizeTime>属性

在选项卡上:触发器,您可以添加所需的触发器。


OP要求20-30秒的时间同步间隔。只有通过定义多个触发器
nixda

2
常见的误解,但您真的不能受到指责!此计划的任务仅确保Windows Time服务正在运行...因此,即使您触发该任务的频率更高,仍然由服务决定何时进行同步,这显然是每周一次。
Gras Double

6
要更改轮询频率:注册表项HKLM\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient,编辑DWORD SpecialPollInterval,以秒为单位(例如,一天:十六进制15180或十进制86400)。
Gras Double

大!这一招对我的工作我的W7操作系统
razor7

2
感谢Microsoft做一个简单的探测任务,例如时间同步SO DAMN COMPLICATED。唯一合理的解决方案是定期静默运行第三方实用程序。
Gras Double

4

您可以使用TimeSync自动执行时间同步。

  • 好处:不会注册像W32tm那样的整个服务(使用W32tm时会拥有)
  • 好处:它具有移植性,可以/auto从启动文件夹中选择运行
  • 缺点:第三方工具而非内置解决方案

    在此处输入图片说明

TimeSync从NIST服务器获取当前时间,并在必要时调整PC时钟。准确度通常在一秒内。[...]如果无法从首选服务器获取时间,TimeSync将尝试其他服务器。

提供了选项/ auto来从StartUp文件夹运行TimeSync。在这种模式下,如果时钟偏移低于给定的最小值,则不会显示TimeSync窗口。


当然,您仍然可以向其注册内置解决方案W32tm,cmd.exe → W32tm /register并将计划任务设置为cmd.exe → W32tm /resync每5分钟调用一次。



-1

我在自己管理的信息亭上运行此命令。

net start w32time 
w32tm /resync /force

手动设置日期时间:

date 5/24/2017
time 18:37:00

设置时区:

tzutil/s Pacific Standard Time

1
第一个代码块中的命令做什么?第二个和第三个代码块与此问题有关吗?
斯科特,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.