有没有办法通过命令行将系统时钟与 Internet 时间服务器(即 time.nist.gov)同步?最好是通过 BAT 或 PowerShell 脚本执行。
之所以有这种特殊需求,是因为我有一些虚拟机,我经常使用“保存机器状态”功能,而这些虚拟机通常不会在我“唤醒”它们时重新同步时钟。很多时候,我会重新加载它们,发现时钟已经(并且一直)不同步了几天。
通过 Internet 时间设置对话框重新同步时钟通常可以正常工作,但需要多次点击鼠标才能完成。我更愿意在桌面上保留一个脚本,双击它就可以完成这项工作。
目前,这是针对运行 Windows 7 Home x64 的系统,但如果能够向后兼容 XP SP3 就更好了。
答案1
请参阅 W32tm 的参考“用于诊断 Windows 时间出现的问题的工具”:http://technet.microsoft.com/en-us/library/bb491016.aspx。 还,w32tm /?
使用。如果还没有设置w32tm /resync
服务器,可能还需要使用 进行设置。net time
答案2
@echo off
net start W32Time
w32tm /resync
echo sync complete
- 将此代码复制到记事本并将其保存为
.bat
文件。 - 根据需要,使用管理员权限运行批处理文件或从任务计划程序安排任务来运行此批处理文件。
注意:这需要管理员权限和有效的互联网连接。
答案3
我以前都是用 net 命令来做的。
对于 ntp
网络时间 ntp.server.foo
对于窗户
网络时间\\服务器
我不记得您是否需要某种类型的 /ntp 标志......如果需要,它会告诉您。