我们的计算机在网络上的时间差了几分钟。我检查了计算机上的注册表,发现类型为 NT5DS,我相信它正在从我们的域服务器获取时间。此外,在 NtpServer 下的注册表中,它显示 time.windows.com。
我搜索了一下,发现 w32tm 可能与改变时间有关。
我正在寻找更改时间的正确方法,但要保留内部 NTP,而不是从外部源获取时间。另外,我担心的是,时间更改后网络上的计算机是否正常,因为我听说如果系统与 NTP 的时间差超过 5 分钟,它就会停止工作。
答案1
对此已经有一个内置层次结构,您不应更改它。计算机将根据站点和服务中定义的站点和子网信息,找到距离它们最近的域控制器进行时间同步。这些域控制器反过来将与担任 PDC 仿真器 FSMO 角色的域控制器同步它们的时间。担任该角色的域控制器应配置为使用 NTP 时间同步与可靠源(无论是内部还是外部),并且所有其他域成员都应保持一致。通常,人们会与 NIST、Microsoft、Apple 或 pool.ntp.org 进行同步。让核心交换机/路由器执行此操作,然后将所有需要时间同步的设备指向该设备,这也是很常见的。
编辑
这里有几篇文章涉及如何做到这一点:
http://technet.microsoft.com/en-us/library/cc786897(v=ws.10).aspx
这是在您的 DC 即 PDC 模拟器上运行的命令:
w32tm /config /manualpeerlist: peers /syncfromflags:manual /reliable:yes /update
您在这里需要做的就是配置和同步 PDC 仿真器 DC,加入 AD 的所有其他内容将开始同步,然后您就可以收工了。附上下面的图片供您参考(在上面的其中一个链接中)。还值得注意的是,这可以很好地处理您的 Microsoft 系统,但如果您有 Linux 服务器或需要 NTP 协议响应的网络设备,您可能会遇到兼容性问题,因为 Microsoft 作为 NTP 服务器的实现可以说......不是很好。就像我上面提到的,我通常会将我的核心路由器指向外部时间源,然后将 PDC 仿真器指向该时间源。我的网络中需要 NTP 的所有其他内容都会指向它们的本地路由器,而本地路由器又指向我的核心路由器。
答案2
在域控制器上运行 DCDIAG 并确认它正在作为时间服务器进行广告宣传。您还可以使用 NLTEST 命令获取时间服务器广告状态:
nltest.exe /server:dcname /dsgetdc:acmecorp.com
DC: \\dcname.acmecorp.com
Address: \\n.n.n.n
Dom Guid: 5fb09a11-8148-4d9c-a53a-d7a218880eaf
Dom Name: acmecorp.com
Forest Name: acmecorp.com
Dc Site Name: Blah
Our Site Name: Blah
Flags: GC DS LDAP KDC TIMESERV WRITABLE DNS_DC DNS_DOMAIN DNS_FOREST CLOSE_SITE FULL_SECRET WS
^^^^^^^^
您可以在客户端上使用 w32tm.exe 命令来确定时间同步未发生的原因。
现代(非传统)Windows 客户端通常具有类似以下的输出:
>w32tm /query /status /verbose
Leap Indicator: 0(no warning)
Stratum: 4 (secondary reference - syncd by (S)NTP)
Precision: -6 (15.625ms per tick)
Root Delay: 0.0937500s
Root Dispersion: 1.0042565s
ReferenceId: 0xDEADBEEF (source IP: n.n.n.n) <-- Should be the Domain Controller
Last Successful Sync Time: 10/24/2012 8:25:56 AM
Source: DCName.acmecorp.com <-- Should be the Domain Controller
Poll Interval: 11 (2048s)
Phase Offset: 0.1063193s
ClockRate: 0.0156005s
State Machine: 1 (Hold)
Time Source Flags: 2 (Authenticated )
Server Role: 0 (None)
Last Sync Error: 0 (The command completed successfully.)
Time since Last Good Sync Time: 24.4367708s
如果 DC 未作为时间服务器进行广告宣传,但一切似乎都正确,有时手动调整注册表值可以纠正此问题。当 DC 作为时间服务器进行广告宣传时,以下“Enabled”注册表值将为 1。如果此值为 0,则它肯定不会为您的工作站提供时间服务。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer]
"Enabled"=dword:00000001