本文提供了 Windows 时间服务不会在独立环境中自动启动的问题的解决方法。
适用于: Windows 7 Service Pack 1、Windows Server 2012 R2原始 KB 数: 2385818
现象
在运行 Windows 7、Windows Server 2008 R2 或更高版本的工作组计算机上,Windows 时间服务在系统启动后立即停止。 即使在启动类型从**“手动”更改为“自动**”之后,也会发生此问题。
原因
出现此问题的原因是 Windows 时间服务配置为触发器启动服务,并且已作为 Windows 7 和 Windows Server 2008 R2 中的默认设置实现。
服务和后台进程对系统的性能有显著影响。 触发器启动服务已在 Windows 7 和 Windows 服务 2008 R2 中实现,以减少系统上自动启动服务的总数。 目标是提高整个系统的稳定性,包括提高性能和降低能耗。 在此实现下,服务控制管理器已得到增强,以使用特定系统事件处理启动和停止服务。
有关详细信息,请参阅 服务触发器事件。
Windows 时间服务是否自动启动取决于以下条件之一:
- 计算机是否已加入 Active Directory 域服务 (AD DS) 域环境。
- 计算机是否配置为工作组计算机。
已加入域的计算机上的 Windows 时间服务在发生触发器事件时启动。 在未加入 AD DS 域的工作组计算机上:
- Windows 时间服务的 启动值为“手动”。
- 服务状态为 “已停止”。
可以通过运行以下命令来检查 Trigger-Start 服务设置:
sc qtriggerinfo w32time
Service Name: w32time
Start Service
DOMAIN JOINED STATUS: 1ce20aba-9851-4421-9430-1ddeb766e809 [DOMAIN JOINED]
Stop Service
DOMAIN JOINED STATUS: ddaf516e-58c2-4866-9574-c3b615d42ea1 [NOT DOMAIN JOINED]
解决方法
若要在系统启动时启动 Windows 时间服务,请使用以下任一方法。
-
方法 1
sc triggerinfo w32time delete运行以下命令以删除注册为默认设置的触发器事件,并将 Windows 时间服务的启动类型设置从“手动”更改为 “自动”: -
方法 2
sc triggerinfo w32time start/networkon stop/networkoff运行命令以定义适合环境的触发器事件。 在此示例中,该命令确定是否向主机提供 IP 地址。 然后,它会启动或停止服务。 -
方法 3
将 Windows 时间服务的启动类型从手动更改为自动(延迟启动)。
注意
如果 Windows 时间服务的启动类型设置为**“自动”(延迟启动),则 Windows 时间服务可能会在服务控制管理器启动 Windows 时间服务任务之前由**时间同步启动。 这取决于有关 Windows 操作系统的启动时间。
在这种情况下,服务在时间同步任务成功后触发自动停止。 如果使用方法 3,则必须禁用 时间同步以避免任务启动 Windows 时间服务 任务。 为此,请按照以下步骤操作:
- 启动任务计划程序。
- 在“任务计划程序库>Microsoft>Windows>时间同步”下,选择“同步时间”。
- 右键单击,然后选择 快捷菜单上的“已禁用 ”。
详细信息
工作组计算机上的 Windows 时间服务不会在系统启动时由 Trigger-Start 服务自动启动。 但是,Windows 时间服务由时间同步设置启动。 该设置在任务计划程序库的周日上午 01:00 注册,以便进行时间同步。 因此,默认设置可以按原样保留。