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

为确保合理地使用公共时间,Windows 时间服务使用层级关系来控制授权,并且不允许出现循环。默认情况下,基于 Windows 的计算机使用下面的层级:
  • 所有客户端桌面计算机都提名身份验证域控制器作为其入站时间伙伴。
  • 所有成员服务器都遵循与客户端桌面计算机相同的过程。
  • 域中的所有域控制器都提名主域控制器 (PDC) 操作主机作为其入站时间伙伴。
  • 所有 PDC 操作主机都遵循域的层级来选择其入站时间伙伴。
在此层级中,位于林根的 PDC 操作主机成为组织的权威时间服务器。我们极力建议您将权威时间服务器配置为从硬件源收集时间。当您将权威时间服务器配置为与 Internet 时间源同步时,不会有任何身份验证。我们还建议您降低服务器和独立客户端的时间校准设置。这些建议可以为您的域提供更准确的时间和更高的安全性。

配置 Windows 时间服务以使用内部硬件时钟

警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能会出现严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证可以解决这些问题。修改注册表需要您自担风险。

要将 PDC 主机配置为不使用外部时间源,请更改 PDC 主机上的公告标志。PDC 主机是存放域的林根 PDC 主机角色的服务器。这种配置会强制 PDC 主机将它自身宣布为可靠的时间源,从而使用内置的互补金属氧化物半导体 (CMOS) 时钟。要将 PDC 主机配置为使用内部硬件时钟,请按照下列步骤操作:
  1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
  2. 找到并单击下面的注册表子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
  3. 在右窗格中,右键单击“AnnounceFlags”,然后单击“修改”。
  4. 在“编辑 DWORD 值”的“数值数据”框中键入 A,然后单击“确定”。
  5. 退出注册表编辑器。
  6. 在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter:
    net stop w32time && net start w32time
注意:决不能将 PDC 主机配置为与它自身同步。有关为何不能将 PDC 主机配置为与自身同步的更多信息,请访问下面的网站以查看征求意见文档 (RFC) 1305:
http://www.rfc-editor.org/ (http://www.rfc-editor.org/)
如果将 PDC 主机配置为与自身同步,将在系统日志中记录以下事件:
类型: 信息
来源: W32Time
类别: 无
事件 ID: 38
计算机: ComputerName
描述: 时间提供程序 NtpClient 不能访问,或当前正在从 NTP_server_IP_Address 接收无效的时间数据。有关更多信息,请参阅在 http://support.microsoft.com 的帮助和支持中心。
类型: 警告
来源: W32Time
类别: 无
事件 ID: 47
计算机: ComputerName
描述: 时间提供程序 NtpClient: 在尝试联系它 8 次以后没有收到来自手动配置的对等端 NTP_server_IP_Address 的有效响应。此对等端将不再被作为时间源,并且 NtpClient 将尝试用此 DNS 名称发现一个新的对等端。有关更多信息,请参阅在 http://support.microsoft.com 的帮助和支持中心。
类型: 错误
来源: W32Time
类别: 无
事件 ID: 29
计算机: ComputerName
描述: 时间提供程序 NtpClient 被配置为从一个或多个时间源获得时间,但是当前这些源没有一个是可以访问的。在 15 分钟内不会进行联系时间源的尝试。NtpClient 没有一个能够提供准确时间的时间源。有关更多信息,请参阅在 http://support.microsoft.com 的帮助和支持中心。
如果 PDC 主机在没有使用外部时间源的情况下运行,应用程序日志中会记录以下事件:
时间提供程序 NtpClient: 此机器配置为用域层级确定它的时间源,但它已经是林的根目录域的 PDC 模拟器,因此在域层级没有机器在它上面以用作时间源。建议您在根域上配置一个可靠的时间服务,或者手动配置 PDC 与外部时间源同步。否则,此机器将作为域层级中的权威时间源。如果没有为此计算机配置或使用外部时间源,您可以选择禁用 NtpClient。
这段文本是为了提醒您使用外部时间源,您可以忽略它。

配置 Windows 时间服务以使用外部时间源

要将内部时间服务器配置为与外部时间源同步,请按照下列步骤操作:
  1. 将服务器类型更改为 NTP。为此,请按照下列步骤操作:
    1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
    2. 找到并单击下面的注册表子项:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type
    3. 在右窗格中,右键单击“Type”,然后单击“修改”。
    4. 在“编辑值”的“数值数据”框中键入 NTP,然后单击“确定”。
  2. 将 AnnounceFlags 设置为 5。为此,请按照下列步骤操作:
    1. 找到并单击下面的注册表子项:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
    2. 在右窗格中,右键单击“AnnounceFlags”,然后单击“修改”。
    3. 在“编辑 DWORD 值”的“数值数据”框中键入 5,然后单击“确定”。
  3. 启用 NTPServer。为此,请按照下列步骤操作:
    1. 找到并单击下面的注册表子项:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
    2. 在右窗格中,右键单击“Enabled”,然后单击“修改”。
    3. 在“编辑 DWORD 值”的“数值数据”框中键入 1,然后单击“确定”。
  4. 指定时间源。为此,请按照下列步骤操作:
    1. 找到并单击下面的注册表子项:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer
    2. 在右窗格中,右键单击“NtpServer”,然后单击“修改”。
    3. 在“编辑值”的“数值数据”框中键入 Peers,然后单击“确定”。

      注意Peers 是一个占位符,应替换为您的计算机从中获取时间戳的对等端列表(以空格分隔)。列出的每个 DNS 名称都必须是唯一的。必须在每个 DNS 名称后面附加 ,0x1。如果不在每个 DNS 名称后面附加 ,0x1,则在步骤 5 中所做的更改将不会生效。
  5. 选择轮询间隔。为此,请按照下列步骤操作:
    1. 找到并单击下面的注册表子项:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval
    2. 在右窗格中,右键单击“SpecialPollInterval”,然后单击“修改”。
    3. 在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。

      注意TimeInSeconds 是一个占位符,应替换为您希望各次轮询之间的间隔秒数。建议值为 900(十进制)。该值将时间服务器配置为每隔 15 分钟轮询一次。
  6. 配置时间校准设置。为此,请按照下列步骤操作:
    1. 找到并单击下面的注册表子项:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection
    2. 在右窗格中,右键单击“MaxPosPhaseCorrection”,然后单击“修改”。
    3. 在“编辑 DWORD 值”的“基数”框中单击以选择“十进制”。
    4. 在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。

      注意TimeInSeconds 是一个占位符,应替换为适当的值,如 1 小时 (3600) 或 30 分钟 (1800)。您选择的值将因轮询间隔、网络状况和外部时间源而异。
    5. 找到并单击下面的注册表子项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxNegPhaseCorrection
    6. 在右窗格中,右键单击“MaxNegPhaseCorrection”,然后单击“修改”。
    7. 在“编辑 DWORD 值”的“基数”框中单击以选择“十进制”。
    8. 在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。

      注意TimeInSeconds 是一个占位符,应替换为适当的值,如 1 小时 (3600) 或 30 分钟 (1800)。您选择的值将因轮询间隔、网络状况和外部时间源而异。
  7. 退出注册表编辑器。
  8. 在命令提示符处,键入以下命令以重新启动 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 产品支持服务电话号码和支持费用信息的完整列表,请访问下面的 Microsoft 网站:
http://support.microsoft.com/default.aspx?scid=fh;[LN];CNTACTMS (http://support.microsoft.com/default.aspx?scid=fh;%5Bln%5D;cntactms)
注意:特殊情况下,如果 Microsoft 支持专业人员确定某个特定的更新能够解决您的问题,可免收通常情况下收取的电话支持服务费用。对于特定更新无法解决的其他支持问题和事项,将照常收取支持费用。