如何在 Windows Server 中配置权威时间服务器

本文介绍如何配置 Windows 时间服务,以及 Windows 时间服务无法正常工作时进行疑难解答。

适用于:Windows Server 2012 Standard、Windows Server 2012 Essentials
原始 KB 编号: 816042

要将内部时间服务器配置为与外部时间源同步,请使用以下方法:

要将位于 Active Directory 林的根目录中的 PDC 配置为与外部时间源同步,请按照下列步骤操作:

  1. 将服务器类型更改为 NTP。 为此,请按照下列步骤操作:

    1. 依次选择“开始”>、“运行”,键入“regedit”,然后选择“确定”

    2. 找到并选择以下注册表子项:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

    3. 在右窗格中,右键单击“类型”,然后选择“修改”

    4. 在“编辑值”的“数值数据”框中键入“NTP”,然后选择“确定”

  2. AnnounceFlags 设置为 5。 为此,请按照下列步骤操作:

    1. 找到并选择以下注册表子项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

    2. 在右窗格中,右键单击“AnnounceFlags”,然后选择“修改”

    3. 在“编辑 DWORD 值”的“数值数据”框中键入“5”,然后选择“确定”

    注意

    • 如果配置为使用 AnnounceFlag 值为 0x5 的权威时间服务器与上游时间服务器不同步,则当权威时间服务器与上游时间服务器之间的时间同步恢复时,客户端服务器可能无法与权威时间服务器正确同步。 因此,如果网络连接不佳或有其他可能导致权威服务器与上游服务器时间同步失败的问题,请将 AnnounceFlag 值设置为 0xA 而不是 0x5
    • 如果将权威时间服务器配置为使用 AnnounceFlag 值为 0x5,并且以 SpecialPollInterval 中指定的固定时间间隔与上游时间服务器同步,则在权威时间服务器重启之后,客户端服务器可能无法与权威时间服务器正确同步。 因此,如果将权威时间服务器配置为以 SpecialPollInterval 中指定的固定时间间隔与上游 NTP 服务器同步,则将 AnnounceFlag 值设置为 0xA 而不是 0x5
  3. 启用 NTPServer。 为此,请按照下列步骤操作:

    1. 找到并选择以下注册表子项:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer

    2. 在右窗格中,右键单击“已启用”,然后选择“修改”

    3. 在“编辑 DWORD 值”的“数值数据”框中键入“1”,然后选择“确定”

    4. 指定时间源。 为此,请按照下列步骤操作:

      1. 找到并单击下面的注册表子项:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

      2. 在右窗格中,右键单击“NtpServer”,然后选择“修改”

      3. 在“编辑值”的“数值数据”框中键入“对等数”,然后选择“确定”

        注意

        对等数是计算机从中获取时间戳的以空格分隔的对等数列表的占位符。 列出的每个 DNS 名称都必须是唯一的。 必须在每个 DNS 名称后面附加 ,0x1。 如果不在每个 DNS 名称后附加 ,0x1,则在步骤 5 中所做的更改将不会生效。

  4. 配置时间校准设置。 为此,请按照下列步骤操作:

    1. 找到并单击以下注册表子项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

    2. 在右窗格中,右键单击“MaxPosPhaseCorrection”,然后选择“修改”

    3. “编辑 DWORD 值”中的“基数” 框中单击选择“十进制”

    4. 在“编辑 DWORD 值”的“数值数据”框中键入“TimeInSeconds”,然后选择“确定”

      注意

      TimeInSeconds 是一个合理值的占位符,例如 1 小时 (3600) 或 30 分钟 (1800)。 你选择的值将取决于轮询间隔、网络状况和外部时间源。
      在 Windows Server 2008 R2 或更高版本中,MaxPosPhaseCorrection 的默认值为 48 小时。

    5. 找到并单击下面的注册表子项:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

    6. 在右窗格中,右键单击“MaxNegPhaseCorrection”,然后选择“修改”

    7. “编辑 DWORD 值”中的“基数” 框中单击选择“十进制”

    8. 在“编辑 DWORD 值”的“数值数据”框中键入“TimeInSeconds”,然后选择“确定”

      注意

      TimeInSeconds 是一个合理值的占位符,例如 1 小时 (3600) 或 30 分钟 (1800)。 你选择的值将取决于轮询间隔、网络状况和外部时间源。
      在 Windows Server 2008 R2 或更高版本中,MaxNegPhaseCorrection 的默认值为 48 小时。

  5. 关闭注册表编辑器。

  6. 在命令提示符处,键入以下命令以重启 Windows 时间服务,然后按 Enter:

    net stop w32time && net start w32time
    

疑难解答

要使 Windows 时间服务能够正常运行,网络基础结构必须正常运行。 影响 Windows 时间服务的最常见问题包括以下这些:

  • TCP/IP 连接存在问题,如出现死网关。
  • 名称解析服务未正确运行。
  • 网络出现高延迟,尤其是在通过高延迟的广域网 (WAN) 链接进行同步时。
  • Windows 时间服务尝试与不准确的时间源同步。

建议您使用 Netdiag.exe 实用工具解决与网络有关的问题。 Netdiag.exe 是 Windows Server 2003 支持工具包的一部分。 有关可与 Netdiag.exe 结合使用的命令行参数的完整列表,请参阅工具帮助。 如果你的问题仍未解决,则可以打开 Windows 时间服务调试日志。 由于调试日志可能包含非常详细的信息,建议你在打开 Windows 时间服务调试日志后与 Microsoft 客户支持服务部门联系。

注意

特殊情况下,如果 Microsoft 技术支持人员确定某个特定更新能够解决你的问题,可免收通常情况下收取的电话支持服务费用。 对于相关特定升级无法解决的其他支持问题和事项,将照常收取支持费用。

更多信息

Windows Server 包含 W32Time,它是 Kerberos 身份验证协议所需的时间服务工具。 Windows 时间服务可确保组织中所有运行 Microsoft Windows 2000 Server 操作系统或更高版本的计算机都使用同一时间。

为保证恰当的同一时间使用,Windows 时间服务使用控制授权的层级关系,并且 Windows 时间服务不允许循环。 默认情况下,基于 Windows 的计算机使用下面的层级:

  • 所有客户端桌面计算机都提名身份验证域控制器作为其入站时间伙伴。
  • 所有成员服务器都遵循与客户端桌面计算机相同的过程。
  • 域中的所有域控制器都提名主域控制器 (PDC) 操作主机作为其入站时间伙伴。
  • 所有 PDC 操作主机都遵循域的层级来选择其入站时间伙伴。

在此层级中,位于林根的 PDC 操作主机成为组织的权威时间服务器。 我们强烈建议您配置权威时间服务器以从硬件资源获取时间。 当您将权威时间服务器配置为与 Internet 时间源同步时,不会有任何身份验证。 我们还建议您降低服务器和独立客户端的时间校准设置。 这些建议可以为您的域提供更准确的时间和更高的安全性。

References

有关 Windows 时间服务的详细信息,请参阅:

有关 Windows 时间服务的更多信息,请参阅 Windows 时间服务 (W32Time)