如何在启动时同步计算机的时钟?

时间:2009-01-08 21:35:11

标签: windows datetime batch-file

我有几个托管GoGrid的服务器,每次重启我的一台云服务器时,系统时钟都不正确。服务器不是域的成员,因此我只将操作系统设置为与Internet时间服务器同步。这只发生一天一次,我没有看到一个选项,可以在重启后自动执行此操作。所以我只留下编写一些代码来为我做。

我使用“w32tm / resync”命令创建了一个批处理文件,并将其安排在系统启动时运行,但它不起作用,因为运行批处理文件时网络连接不可用。如何在OS完​​全加载并且网络连接可用后启动时间同步?我需要在计算机启动后尽快保持正确的时间,这样我的数据库中的时间戳才是正确的。

11 个答案:

答案 0 :(得分:14)

在Windows 2008上,任务计划程序中有一个选项,允许您在任务运行之前等待网络连接可用。在任务属性对话框中,创建一个新的“启动时”触发器,并确保选中“已启用”框。添加操作以运行批处理文件。最后,添加条件以仅在网络连接可用时启动任务。然后,我要求它重新启动命令,如果失败则最多3次。这似乎很有效。

在旧版本的Windows上,使用以下批处理文件内容重试sync命令,直到成功,或者直到重试次数为止。

REM *** Retry for up to 15 minutes (90 retries @ 10 seconds each)
set retryCount=0

:SyncStart
if %retryCount == 90 goto SyncEnd
set /A retryCount=retryCount + 1

REM *** Resync the system clock
w32tm /resync
if errorlevel 1 goto SyncDelay
if errorlevel 0 goto SyncEnd

:SyncDelay
REM *** If unsuccessful, delay 10 seconds, then retry
choice /n /t:y,10>nul
goto SyncStart

:SyncEnd

答案 1 :(得分:6)

通常,Windows时间服务应该为您解决此问题。

http://technet.microsoft.com/en-us/library/cc773013.aspx

您是否正在运行该服务?

答案 2 :(得分:3)

正如here所指出的,这可能与具有Windows 10和Linux的双启动系统有关。

就我而言,该服务设置为仅手动运行,因此从未像有人怀疑的那样被触发。将服务调整为在Windows的服务管理中启动时自动运行,为我解决了这个问题。

enter image description here

答案 3 :(得分:2)

在Windows 10中,我转到了服务,并启用了“ Windows Time”服务w32time是自动的,这为我解决了这一问题。

发生问题是因为我使用Linux进行双重引导,并且由于某种原因,在Linux中引导后Windows的时钟总是关闭。

答案 4 :(得分:1)

在登录时运行的计划任务可能吗?

编辑:您可能希望在脚本中放置30秒左右以允许网络连接刷新。完全没有正确地阅读你的问题。

答案 5 :(得分:1)

打开终端(作为管理员)并运行此命令:

在家用电脑上使用此功能或未加入域域 w32tm /resync

如果您加入域,请使用此选项 net time /domain

如果您获得了该服务尚未启动。 (0x80070426)错误,则表示您需要启动Windows时间服务,等一下,然后重试。

如果你得到了一台计算机没有重新同步,因为没有时间数据可用错误,那么你应该可以再试一次,直到成功。

Windows 10: Synchronize Clock with an Internet Time Server in Windows 10

答案 6 :(得分:0)

我使用此批处理脚本重新同步 Windows 时间:必须以管理员身份运行

w32tm /unregister
w32tm /register
net start w32time
w32tm /resync

答案 7 :(得分:-1)

我应该意识到我需要以管理员身份运行此批处理文件才能工作,但是一旦我弄清了这一点,我只需要对choice命令进行些微调整就可以使其像个魅力一样工作。

choice /n /t:10 /D:y

与上述用户一样,我也在Ubuntu 18.04和Windows 7之间进行双重引导,其中引导至Ubuntu将系统时钟设置为UTC,并且操作系统针对GMT进行调整,而Windozz似乎将系统时钟设置为时间区域。

设置任务计划程序很容易,我唯一的特定问题是我的笔记本电脑有时间连接到FritzBox,所以我想我的更新只会在我在家时进行。 (将NTP交换回预设之一很容易,所以我不担心)

答案 8 :(得分:-1)

我尝试使用带有自动选项(延迟启动)的w32sync,这对我来说是解决的....

答案 9 :(得分:-1)

在我使用双 Windows/Linux 启动的情况下,Windows 上的时间没有同步, 即使“Windows 时间”设置为“自动”。 将其更改为“自动(延迟启动)”为我修复了它- 时间在 Windows 启动后大约 1 分钟同步。

答案 10 :(得分:-2)

半随机发现。 Win 7+的新choice.exe语法插入10秒暂停

choice /N /T 10 /D y>nul