如何在域中查找时间服务器?

Hrv*_*tar 33 active-directory

在 Windows 域中,PDC 不一定是域时间服务器。如何识别权威时间服务器?

Eva*_*son 27

我假设您正在寻找 W32Time 服务用于在域成员计算机上执行时间同步的服务器。

在库存 Active Directory 部署中,唯一显式配置了时间服务器的计算机将是在林根域中拥有 PDC 模拟器 FSMO 角色的计算机。林根域中的所有域控制器都与 PDC 模拟器 FSMO 角色持有者同步时间。子域中的所有 PDC 模拟器 FSMO 角色持有者都将它们的时间与其父域中的域控制器(可能包括林根域中的 PDF 模拟器 FSMO 角色持有者)同步。所有域成员计算机与各自域中的域控制器计算机同步时间。

要确定域成员是否配置为域时间同步,请检查 HKLM\System\CurrentControlSet\Services\W32Time\Parameters\Type 中的 REG_SZ 值。如果它设置为“Nt5DS”,则计算机正在与 Active Directory 时间层次结构同步时间。如果它配置了值“NTP”,则计算机正在与同一注册表项中的 NtpServer REG_SZ 值中指定的 NTP 服务器同步时间。

本文提供了时间同步协议的低级详细信息:Windows 时间服务的工作原理

请注意,并非每个域控制器(KDC,正如 James 在他的帖子中指导您通过 DNS 查找的那样)都可能正在运行时间服务。在库存 AD 部署中,每个域控制器都将是,但某些部署可能使用禁用了 W32Time 服务的虚拟化域控制器(以促进基于管理程序的时间同步),因此,您可能会很好地实现描述的功能如果您正在开发需要以与域成员计算机相同的方式同步时间的软件,请参阅“Windows 时间服务的工作原理”一文。


小智 24

一些有用的命令

重新同步(需要管理员权限):

w32tm /resync /nowait    
Run Code Online (Sandbox Code Playgroud)

重新同步到特定计算机(需要管理员权限):

w32tm /resync /nowait /computer:computername 
Run Code Online (Sandbox Code Playgroud)

显示当前使用的服务器(需要管理员权限):

w32tm /query /source
Run Code Online (Sandbox Code Playgroud)

仔细检查它是否工作:

w32tm /monitor /domain:mydomain.com 
Run Code Online (Sandbox Code Playgroud)

查看设置:

w32tm /dumpreg /subkey:parameters 
Run Code Online (Sandbox Code Playgroud)

然后看Type:

  • NoSync
    客户端不同步时间。

  • NTP
    客户端从外部时间源同步时间。查看输出中 NtpServer 行中的值,以查看客户端用于时间同步的一个或多个服务器的名称。

  • NT5DS
    客户端配置为使用域层次结构进行时间同步。

  • AllSync
    客户端从任何可用的时间源同步时间,包括域层次结构和外部时间源。

此处找到的注册表设置:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]
"NtpServer"=""
"Type"="NT5DS" 
Run Code Online (Sandbox Code Playgroud)


kat*_*iel 15

域权威通常是PDC 模拟器,反过来,其他 DC 将从它同步。

要确定当前谁在您的域中担任 PDC 模拟器角色,请使用:

netdom query fsmo
Run Code Online (Sandbox Code Playgroud)

有关确定 FSMO 角色持有者的其他方法,请参阅文章确定 FSMO 角色持有者

在 TechNet 文章Windows 时间服务的工作原理中阅读有关该主题的更多信息。