排查任务计划程序服务无法启动时的问题

本文可帮助排查在 Windows 计算机中启动任务计划程序服务失败的问题。

您的计划任务未运行或错过了预定时间。 打开任务计划程序时,会收到以下错误消息:

找不到远程计算机。

任务计划程序服务未在 Services 管理单元(Services.msc)中启动。 启动任务计划程序服务时,会收到以下错误消息之一:

  • 本地计算机上的任务计划程序服务已启动,然后停止。 某些服务在其他服务或程序未使用的情况下自动停止。

  • 错误 5:访问被拒绝

  • 错误 126:找不到指定的模块

每个错误消息都有不同的原因和解决方法。

错误:本地计算机上的任务计划程序服务已启动,然后停止

发生此错误的原因是 Time Broker 服务已停止或禁用。 若要解决此错误,请使用以下方法之一启用和启动服务。

注释

Time Broker 服务协调 WinRT 应用程序的后台工作的执行。 如果此服务已停止或禁用,则可能不会触发后台工作。

使用服务管理单元

选择 “启动>Windows 管理工具>服务”,并检查时间代理服务是否正在运行。 如果它未运行或已禁用,请启用它,然后启动它。

使用注册表编辑器

  1. 打开注册表编辑器,然后转到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TimeBrokerSvc
  2. 在右窗格中,检查 Start 值是否默认设置为 3。 如果没有,请将其修改为 3
  3. 重新启动计算机并检查任务计划程序服务是否正在运行。

如果这无法解决问题,但仍无法启动任务计划程序服务,请参阅 “其他资源 ”部分。

错误 5:访问被拒绝

发生此错误的原因是 NT AUTHORITY\SYSTEM 帐户没有对系统事件日志的写入权限。 出于其他目的,系统管理员可能已使用 CustomSD 注册表项修改权限。

任务计划程序服务在 SYSTEM 帐户下运行。 默认情况下,SYSTEM 帐户对系统事件日志具有写入权限,以允许任务计划程序服务将事件记录到系统事件日志中。

每个日志的安全性是通过以下注册表项中的值在本地配置的:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog

如果自定义了系统事件日志权限,则通过以下注册表项配置系统日志安全描述符:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\CustomSD

安全描述符是使用安全描述符定义语言 (SDDL) 语法指定的。 SDDL 应在以下上下文中授予 SYSTEM 帐户读取、写入和清除权限:

(A;;0xf0007;;;SY)

SY(SYSTEM账户)的值为7,表示读取(1)+ 写入(2)+ 清除(4)。 如果没有,请将其更改为 7,以便获得对系统事件日志的适当权限。 更正 SYSTEM 帐户的 SDDL 后,重启计算机并检查任务计划程序服务是否已启动。

还可以运行以下命令来检查系统事件日志的 SDDL:

wevtutil get-log "SYSTEM"

默认值应如下所示:

name: SYSTEM
enabled: true
type: Admin
isolation: System
channelAccess: O:BAG:SYD:(A;;0xf0007;;;SY)(A;;0x7;;;BA)(A;;0x3;;;BO)(A;;0x5;;;SO)(A;;0x1;;;IU)(A;;0x3;;;SU)(A;;0x1;;;S-1-5-3)(A;;0x2;;;S-1-5-33)(A;;0x1;;;S-1-5-32-573)

有关如何修改事件日志 SDDL 的详细信息,请参阅 在本地或通过组策略设置事件日志安全性

如果这无法解决问题,但仍无法启动任务计划程序服务,请参阅 “其他资源 ”部分。

错误 126:找不到指定的模块

发生此错误的原因是缺少与任务计划程序服务相关的文件或找不到文件。

在这种情况下,缺少所需的系统文件,或者任务计划程序服务在其注册表配置下引用无效的文件。

确定服务是否已在其注册表配置下正确配置:

  1. 打开注册表编辑器。

  2. 请前往如下路径中的"任务计划程序"服务位置:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Schedule\Parameters

  3. 在右窗格中,检查注册表值 ServiceDll 是否具有值数据 %systemroot%\system32\schedsvc.dll

  4. 如果存在,请检查%systemroot% \system32 下是否存在 schedsvc.dll 文件。

  5. 如果 DLL 文件缺失, 请使用系统文件检查器工具修复缺失或损坏的系统文件

  6. 修复完成后,启动任务计划程序服务。

如果这无法解决问题,但仍无法启动任务计划程序服务,请参阅 “其他资源 ”部分。

其他资源

使用以下事件日志查看有关服务启动失败的其他信息:

  • 系统事件日志

  • 应用程序事件日志

  • 任务计划程序事件日志下:

    • 事件查看器>应用程序和服务日志>微软>Windows>TaskScheduler>维护
    • 事件查看器>应用程序和服务日志>Microsoft>Windows>任务计划程序>操作日志

请联系 Microsoft 支持

如果上述步骤无法解决问题,请联系Microsoft 支持部门以获取进一步帮助。