如何使用命令从NTP时间服务器同步Windows时间

36

我正在使用Windows 7操作系统。我可以手动从一个NTP Linux服务器同步Win7的时间,但我想要在命令提示符中执行此操作,以便在Windows启动时运行它。对我来说,Windows任务计划不起作用。 时间应该是这样的:

Linux server -->  windows 7.

有人知道吗?谢谢。我可以阅读MSDN。

4个回答

63

5
感谢提供 timesynctool 的参考,正是我所需要的。 - kmonsoor
1
问题已解决,谢谢。我有一台工作站加入了域,因此时间设置“由您的组织管理”,但目前它正在脱离域使用。 - Nicolas

34

使用 net time 命令:net time \\timesrv /set /yes

在管理员权限的命令提示符中尝试此命令:

w32tm /config /update /manualpeerlist:yourtimerserver

它成功运行且没有错误。但时间没有改变。当我运行 time /t 时,这让我很疯狂。@Kayasax - Nick Dong
它不会影响本地网络和域中的其他机器,对吧? - Nick Dong
3
@Kayasax输入"w32tm /resync"命令时,出现"The computer did not resync because the required time change was too big."的提示,因为我的CMOS电池已经没电了,每次开机后计算机时钟都会重置为2000年1月1日上午12:00。有什么帮助吗? - Never Quit
2
@Kayasax 根据 http://blog.bruteforcetech.com/archives/911 已找到解决方案,请勿忘记重新启动 W32Time 服务 net stop W32Time 然后重试 w32tm /resync - Never Quit
1
如果您正在使用虚拟机,请使用以下注册表修改关闭VMICTimeProvider! https://serverfault.com/a/490619/169771 - Arvo Bowen
显示剩余5条评论

10

如果您只需要重新同步Windows时间,请打开一个已提升的命令提示符并键入:

resync
w32tm /resync

C:\WINDOWS\system32>w32tm /resync 
Sending resync command to local computer 
The command completed successfully.

9
虽然理论上可以通过使用w32tm /resync来完成任务,但是它只在特定条件下才能实现。当 "毫秒级别" 很重要时,我发现 Windows 实际上不会进行调整; 就好像 "哦,我差了 2.5 秒,差不多啦,这里没什么好看或做的"。
为了真正强制重新同步(Windows 7):
  1. 控制面板 -> 日期和时间
  2. "更改日期和时间..." (需要管理员权限)
  3. 添加或减少几分钟(我用了 -5 分钟)
  4. 以管理员身份运行"cmd.exe"
  5. w32tm /resync
  6. 可视化检查"日期和时间"控制面版中的秒是否与您的权威时钟同时滴答作响(我在使用SSH登录到网络中的 Linux 机器上使用watch -n 0.1 date
--- 快速方法 ---
  1. 以管理员身份运行"cmd.exe"
  2. net start w32time (时间服务必须正在运行)
  3. time 8 (其中 8 可以替换为任何小时值,可能是 0-23)
  4. w32tm /resync
  5. 如有需要,请跳至第 3 步。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接