命令是干什么的
sc 用于命令行管理 Windows 服务:query 查状态、qc 查配置、start 与 stop 启停、config 改启动类型、failure 配置失败后的自动恢复动作、delete 删除服务。相比图形界面,它适合批量与远程维护,是文件服务发布与脚本运维中的常用工具。
两种名字的区别
sc 使用服务名(Service Name,例如 wuauserv),而 net start 使用显示名(Display Name,例如 Windows Update)。混淆两者是常见失败原因:同一服务用错名字的种类会直接报服务不存在。用 sc query 输出里的 SERVICE_NAME 行确认服务名最可靠。
基本信息
| 适用平台 | Windows Server 2003 及以后、Windows 7/10/11(系统内置) |
|---|---|
| 权限要求 | 查询普通用户即可;config、failure、delete 需管理员 |
| 语法 | sc query 服务;sc qc 服务;sc start|stop|config|failure|delete … |
| 硬性要求 | sc config 的 start= 等号后必须有空格,写作 start= auto |
典型使用场景
- 脚本运行前判断服务状态,决定是否需要重启
- 把自启服务改为手动或延迟启动,缩短开机与登录耗时
- 配置失败恢复动作,让服务崩溃后自动拉起而不等人处理
- 查看服务的失败次数与退出码,区分配置问题与偶发崩溃
- 清理卸载软件后遗留的服务条目
常用示例
常用示例
sc query wuauserv # 查看服务当前状态
sc qc spooler # 查看配置:二进制路径、启动类型、运行账户
sc config MySvc start= demand # 改为手动启动(delayed-auto 表示延迟自动)
sc start MySvc # 启动服务
sc failure MySvc reset= 86400 actions= restart/60000/restart/60000
sc delete MySvc # 删除服务(先停止再删)常用子命令读法
| 子命令 | 作用 | 注意 |
|---|---|---|
| query | 查看运行状态 | 状态显示 RUNNING、STOPPED 等 |
| qc | 查看服务配置 | 可看到二进制路径、启动类型与运行账户 |
| config start= | 修改启动类型 | 等号后必须有空格 |
| failure actions= | 配置失败恢复动作 | reset= 是失败计数器的重置秒数 |
| start / stop | 启停服务 | 存在依赖服务时的连带影响需自行评估 |
| delete | 删除服务 | 先停止再删,操作不可逆 |
sc 用服务名,net start 用显示名;查询不存在的服务返回 1060,“服务不存在”与“服务已停止”是两回事。
sc config 的 start= 后缺少空格会直接报参数错误;failure 恢复动作配置不当会让服务反复崩溃重启,掩盖真实根因。