如何在命令中从 NTP 时间服务器同步 Windows 时间



我正在Windows 7上工作。我可以手动从 ntp linux 服务器同步 win7 的时间。如何在命令提示符下执行此操作。所以我可以在Windows启动时运行它。Windows任务计划对我不起作用。时间应该是这样的:

Linux server -->  windows 7.

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

net stop w32time
w32tm /config /syncfromflags:manual /manualpeerlist:"0.it.pool.ntp.org 1.it.pool.ntp.org 2.it.pool.ntp.org 3.it.pool.ntp.org"
net start w32time
w32tm /config /update
w32tm /resync /rediscover

.BAT示例文件:https://gist.github.com/thedom85/dbeb58627adfb3d5c3af

我也推荐这个程序:http://www.timesynctool.com/

使用净时间 net time \timesrv /set /yes

在您的评论之后,在弹出提示中尝试这个:

w32tm /config /update /manualpeerlist:yourtimerserver

如果只需要resync窗口时间,请打开提升的命令提示符并键入:

w32tm /resync

C:WINDOWSsystem32>w32tm /resync 
Sending resync command to local computer 
The command completed successfully.

虽然理论上w32tm /resync可以完成这项工作,但它只在某些条件下这样做。然而,当"精确到毫秒"很重要时,我发现Windows实际上不会进行调整;好像"哦,我差了 2.5 秒,足够近,兄弟,这里没有什么可看或做的"。

为了真正强制重新同步(Windows 7):

  1. 控制面板 ->日期和时间
  2. "更改日期和时间..."(需要管理员权限)
  3. 加减几分钟(我用了-5分钟)
  4. 以管理员身份运行"cmd.exe"
  5. w32tm /resync
  6. 目视检查"日期和时间"控制面板中的秒是否与您的权威时钟同时滴答作响。(我在网络上的 Linux 机器上使用watch -n 0.1 date,我已经 SSH 进入了)

---快速方法---

  1. 以管理员身份运行"cmd.exe"
  2. net start w32time(时间服务必须正在运行)
  3. time 8(其中 8 可以用任何"小时"值代替,大概是 0-23)
  4. w32tm /resync
  5. 根据需要跳转到 3。

最新更新