NTP 时间 - 在命令行中获取远程 NTP 服务器的时间

NTP 时间 - 在命令行中获取远程 NTP 服务器的时间

本质上,我想在 DOS 或 powershell 中从公共 NTP 服务器获取准确的时间。
我知道有 w32tm 可以查询远程 ntp 服务器,但它给出的结果是我的计算机时间偏离了多少,而不是远程 ntp 服务器的实际时间。

我发现各种 Windows 应用程序都能按我想要的方式运行,但我无法将输出结果传递给变量以执行任何操作。我很惊讶没有 .exe 可以从源获取时间,或者没有将其写入 w32tm。

我想要的是类似 ntpquery.exe pool.ntp.org(后面可能跟着时区或其他东西)并输出日期/时间。


我知道有一个命令另一个问题显示以下结果:

w32tm /stripchart /computer:foo
Tracking foo [1.2.3.4].
The current time is 19/07/2012 17:39:48 (local time).
17:39:48 d:-00.0000840s o:-25.3004160s  [@                          |                           ]

这表明当地的系统时间(可能和我的情况一样是错误的)以及与 NTP 服务器的偏差(上面的例子是 0.00000840s)

如果我运行这个,我可以得到 +/- 3000 秒甚至更多的结果,这并没有给我 NTP 服务器的实际时间,只是告诉我我有多偏离。


我正在寻找一种从 DOS/powershell 中的 NTP 源获取时间的方法,以便我可以将其用作变量。

答案1

感谢大家的回复...尤其是 CraftyB...不过我最终找到了一种方法来做到这一点并想与大家分享。

我所做的就是使用这个应用程序(免费) https://www.meinbergglobal.com/english/sw/ntp.htm 安装后..然后从安装中获取 libcrypto-1_1.dll 和 ntpdate.exe,并编写脚本以从远程 ntp 服务器获取结果。

效果很好。非常感谢大家的意见 - CraftyB,你的回答是一个有效的答案,而且也有效。所以我最终可能会迁移到那个!

相关内容