如何创建Windows任务计划程序任务以在运行时阻止系统自动重启
在Windows任务计划程序中创建防自动重启任务的方案
一、创建拦截重启的核心任务
这个任务会自动取消系统发起的重启请求,确保目标任务正常运行:
- 打开任务计划程序:按下Win+R组合键,输入
taskschd.msc后回车。 - 点击右侧「创建任务」,在「常规」选项卡配置:
- 任务名称设为阻止系统自动重启,勾选「不管用户是否登录都要运行」,勾选「使用最高权限运行」(必须,否则无法拦截系统级重启)。
- 切换到「触发器」选项卡,点击「新建」:
- 若需在特定任务启动时触发拦截,选择「当特定任务运行时」,选中你的目标任务;若要拦截所有系统重启请求,可选择「当特定事件被记录时」,设置事件源为
User32、事件ID为19(Windows系统发起重启的典型事件)。
- 若需在特定任务启动时触发拦截,选择「当特定任务运行时」,选中你的目标任务;若要拦截所有系统重启请求,可选择「当特定事件被记录时」,设置事件源为
- 切换到「操作」选项卡,点击「新建」:
- 操作类型选「启动程序」,程序/脚本输入
shutdown,添加参数输入/a(此命令用于取消正在执行的关机/重启操作)。
- 操作类型选「启动程序」,程序/脚本输入
- 「条件」选项卡:取消勾选「只有在计算机使用交流电源时才启动此任务」(针对笔记本用户),其余按需调整。
- 「设置」选项卡:勾选「允许任务按需运行」,勾选「如果任务失败,每隔5分钟重试」,确保能及时拦截重启请求。
二、任务完成后恢复重启权限
如果需要在目标任务结束后允许系统重启,可按以下配置:
- 针对核心业务任务(即需要保护的任务),添加两个关联操作:
- 任务启动时:新增操作,运行命令
schtasks /run /tn "阻止系统自动重启",手动触发拦截任务。 - 任务完成时:创建一个新任务,触发器选择「当特定任务完成时」,选中核心业务任务;操作设置为
schtasks /end /tn "阻止系统自动重启",停止拦截任务。
- 任务启动时:新增操作,运行命令
- 若需任务完成后主动触发重启,可将上述停止拦截的操作替换为
shutdown /r /t 0(立即重启)。
关键说明
shutdown /a仅能拦截已发起的重启请求,无法阻止系统生成重启指令;若要彻底禁止Windows更新自动重启,可配合组策略(gpedit.msc)中「配置自动更新」的相关设置。- 所有涉及系统操作的任务必须以最高权限运行,否则会因权限不足失效。
内容的提问来源于stack exchange,提问作者D.R.
相关产品推荐
相关产品推荐

