windows server服务恢复选项用于定义服务崩溃后的响应动作,支持重启服务、运行程序或重启计算机,可通过services.msc图形界面或sc.exe命令行配置,并需注意权限、依赖关系及组策略覆盖等事项。
在 windows server 中,为服务配置“恢复选项”是提升系统容错能力的关键操作。当服务意外终止时,合理的恢复策略能让它自动重启、运行程序或触发告警,避免业务长时间中断。
服务恢复选项的作用
恢复选项不是让服务“永不崩溃”,而是定义服务崩溃后的响应动作。常见场景包括:数据库服务因内存不足退出、IIS工作进程被异常回收、自定义后台服务因逻辑错误退出等。启用恢复后,SCM(服务控制管理器)会在检测到服务停止后,按预设规则执行动作,比如重启服务、重启计算机,或运行指定脚本发送通知。
图形界面配置步骤
以本地服务为例(如“Windows Update”或自定义服务):
通过 SSH 隧道从 Android 设备在互联网上对 Windows PC 实现完整远程控制的设置与使用指南,适用于远程桌面访问、安全 RDP 等。
- 打开 services.msc,右键目标服务 → 选择“属性”
- 切换到“恢复”选项卡
- 在“第一次失败”“第二次失败”“后续失败”下拉菜单中,分别选择动作:
- 无操作(默认,不推荐关键服务)
- 重新启动服务(最常用)
-
运行程序(可填入 PowerShell 脚本路径,如
C:\Scripts\AlertOnSvcFail.ps1) - 重新启动计算机(慎用,仅限核心系统服务且有充分验证)
- 设置“重置失败计数”时间(例如 1440 分钟 = 24 小时),超过该时间后失败计数归零
- 勾选“如果服务关闭,则重新启动服务”,可让 SCM 在服务被手动停止后也尝试拉起(注意:此选项对“禁用”状态的服务无效)
命令行方式(sc.exe)批量配置
适合脚本化部署或远程批量管理:
- 查看当前恢复配置:
sc qfailure "wuauserv" - 设置三次失败均重启服务,重置时间为 1440 分钟:
sc failure "wuauserv" reset= 1440 actions= restart/60000/restart/60000/restart/60000
(单位为毫秒,“restart/60000”表示第一次失败后 60 秒重启) - 添加运行程序动作(需配合 failureflag 和 command):
sc failureflag "wuauserv" 1sc failure "wuauserv" actions= restart/60000/run/60000 command= "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File C:\Scripts\Notify.ps1"
注意事项与常见问题
配置恢复选项时需避开几个典型误区:
- 服务账户权限不足时,即使配置了“运行程序”,脚本也可能静默失败——确保服务登录身份对脚本路径和日志目录有读取+执行权限
- 若服务依赖另一崩溃的服务,盲目设为“重启”可能引发连锁失败;建议先检查服务依赖关系(
sc qc "servicename") - “重新启动计算机”动作会记录事件 ID 7036,但不会等待用户确认,务必测试并限制使用范围
- 组策略(如“计算机配置 → 策略 → Windows 设置 → 安全设置 → 系统服务”)可能覆盖手动配置,部署前检查策略优先级










