通过批处理或类似方式在 windows 嵌入式标准上设置互联网时间服务器

Setting internet time server on windows embedded standard through batch or similar

我有一个 PLC 运行 windows 嵌入式标准,作为我们安装过程的一部分(今天都是手动的),我对我公司的软件进行了一些特定的安装和修改。我现在正在自动执行此过程。

我想通过批处理文件或类似文件将日期和时间属性 -> 互联网时间服务器设置为 pool.ntp.org。命令

w32tm

无法识别。 我试过使用命令

net time /setsntp:pool.ntp.org

哪个returns

the command completed succefully..

使用命令

net time /querysntp

还有returns

The current SNTP value is: pool.ntp.org The command completed successfully.

但是当我在“日期和时间属性”->“互联网时间服务器”下手动检查它们时,这些更改没有反映出来,甚至在重新启动后也没有反映出来。所以我想知道我使用的命令是否真的有效?还有其他方法可以实现吗?

编辑: 以下 .bat 文件有效。仅注册表中的更改仅将服务器添加到列表中并使其成为默认值,但并未启用同步。 REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /v "0" /t REG_SZ /d "pool.ntp.org" /f REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /ve /d "0" /f NET TIME /setsntp:pool.ntp.org

在regedit中查看以下路径;

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers

将您的服务器作为字符串值添加到该文件夹​​中 - 或者您可以根据需要修改 MS 提供的默认值。检查你的 'default' 服务器是什么(我的显示为 0),因为这是 Windows 将首先使用的服务器,并在时间设置中放在列表的顶部。

如果删除默认的 MS 服务器并添加自己的服务器,请确保列表中至少有 2 个服务器,否则当您尝试访问时钟内的 'Time & Date' 设置/Internet 时间设置选项卡时,它将崩溃并且从不显示列表。

如果您想配置任何特殊的 ntp 选项,请查看此路径;

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time

重新启动 'Windows Time' 服务,您就可以开始了。您没有理由不能通过 .bat 或 power shell.

编写脚本