我的 Windows 机器不在域中,我需要它从 NTP 服务器更新时间。
当您不在域中时,是否有命令可以执行此操作?
在工作时我习惯net time /domain:DC1
设定时间,但在家里我不知道该怎么做。
我知道我的路由器上有 NTP 服务器,但我不知道如何从它们更新时间。
答案1
无论是否在域中,Windows 系统都默认充当 NTP 客户端。唯一的区别在于使用的默认服务器(域成员使用 DC,独立系统使用公共 NTP 服务器)以及是否使用 MS-SNTP 身份验证。
NTP 服务的命令行界面是w32tm
。您可以使用w32tm /resync
要求服务立即与当前配置的 NTP 服务器同步,并w32tm /config /manualpeerlist:[..]
更改正在使用的服务器(默认为“time.windows.com”)。
(如果出现“服务尚未启动”的情况,请启动“W32Time”服务。以前它会自动启动并全程运行,但现在只在需要时才“触发启动”。)
图形界面是timedate.cpl
,但在现代设置应用中也有一个“立即同步”按钮时间和语言,尽管后者仅显示当前服务器并且不允许您更改它 - 但这两个 UI 都允许您触发立即重新同步。(奇怪的是,在我的计算机上,它们对正在使用哪个服务器存在分歧......)
廉价路由器可能无法成为良好的 NTP 服务器;通常公共服务会做得更好。无论如何,您的路由器最有可能从公共服务获取时间。
注意net time
没有使用 NTP – 它实际上通过 SMB 连接到服务器,绑定到“srvsvc”服务,并发出“NetRemoteTOD”RPC 调用以获取 SMB 服务器的当前时间。
它是传统 MS-RAP“远程管理协议”的一部分,可以追溯到 DOS 和 OS/2“LAN 管理器”时代。它实际上可以与(几乎)任何SMB 服务器,不一定是域控制器 - 但它不适用于“纯”(非 AD)NTP 服务器。