核心命令:sc
sc 命令是专门用来与服务控制管理器进行交互的。

基本语法
sc [servername] command [service name] [option1= value1] [option2= value2]
- servername: (可选)远程计算机的名称,如果省略,则默认为本地计算机。
- command: 要执行的操作,
start,stop,query。 - service name: 服务的短名称,
wuauserv(Windows Update) 而不是 "Windows Update"。 - option: 命令的特定参数。
重启服务的完整流程(推荐)
一个完整、安全的重启服务流程包括三个步骤:停止 -> 查询确认 -> 启动。
停止服务
在重启前,最好先完全停止服务。
sc stop "服务名称"
示例:停止 Windows Update 服务
sc stop wuauserv
说明:

- 命令执行后,可能会提示
[SC] StopService SUCCESS,但这只是表示停止命令已成功发送给服务管理器,服务可能仍在关闭过程中。 - 对于一些关键服务,系统可能会提示“依赖服务也无法运行”。
查询服务状态
在启动服务前,先确认它是否已完全停止。
sc query "服务名称"
示例:查询 Windows Update 服务状态
sc query wuauserv
输出解读:
你会看到类似下面的输出,关键是 STATE 部分。
SERVICE_NAME: wuauserv
TYPE : 110 WIN32_OWN_PROCESS
STATE : 1 STOPPED
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
STATE : 1 STOPPED: 表示服务已成功停止,此时可以安全地启动它。- 如果状态是
RUNNING(4),则表示服务仍在运行,需要等待或重新执行stop命令。
启动服务
确认服务已停止后,重新启动它。

sc start "服务名称"
示例:启动 Windows Update 服务
sc start wuauserv
再次查询确认:
sc query wuauserv
这次你应该会看到 STATE : 4 RUNNING,表示服务已成功启动。
更简洁的“重启”命令(直接但风险稍高)
sc 命令本身也提供了一个 failure 操作来配置服务失败时的重启策略,但没有一个直接的 restart 子命令。
你可以通过组合 stop 和 start 命令,在一行中实现“重启”的效果,这通常用在脚本中。
sc stop "服务名称" & sc start "服务名称"
示例:在一行中重启 Windows Update 服务
sc stop wuauserv & sc start wuauserv
⚠️ 注意:
- 这种方法没有中间的查询和等待步骤。
stop命令没有完全成功,start命令可能也会失败。 - 对于手动操作,强烈推荐使用三步法,对于脚本,如果确定服务可以快速停止,可以使用此方法。
重要补充:net stop 和 net start
你可能还会看到使用 net 命令的旧方法,它也能工作,但 sc 命令更现代、更强大,推荐优先使用 sc。
net stop "服务显示名称" net start "服务显示名称"
与 sc 的区别:
sc使用服务的短名称 (如wuauserv),而net使用服务的显示名称 (如 "Windows Update")。sc提供了更丰富的参数和查询信息。
示例:
net stop "Windows Update" net start "Windows Update"
虽然也能用,但不如 sc stop wuauserv 方便和精确。
实用技巧与常见问题
如何找到服务的“短名称”?
如果你只知道服务的显示名称(如 "Print Spooler"),可以通过以下方法找到它的短名称:
使用 sc 命令
sc query state= all | findstr "SERVICE_NAME"
这个命令会列出所有服务的 SERVICE_NAME。
使用 services.msc 图形界面
- 按
Win + R,输入services.msc并回车。 - 在服务列表中找到你想要的服务。
- 右键点击 -> 属性。
- 在“常规”或“服务”选项卡中,“服务名称” 一项就是短名称(
Spooler)。
常用命令速查表
| 功能 | sc 命令 |
net 命令 |
|---|---|---|
| 停止服务 | sc stop wuauserv |
net stop "Windows Update" |
| 启动服务 | sc start wuauserv |
net start "Windows Update" |
| 查询状态 | sc query wuauserv |
(无直接对应命令) |
| 暂停服务 | sc pause wuauserv |
(无直接对应命令) |
| 恢复服务 | sc resume wuauserv |
(无直接对应命令) |
必须以管理员身份运行
无论使用 sc 还是 net,都必须以管理员身份打开命令提示符,否则会提示“拒绝访问”。
- 在开始菜单中搜索
cmd或命令提示符。 - 右键点击它,选择 “以管理员身份运行”。
常见错误代码
- [SC] OpenService FAILED 5: 拒绝访问,请确保你以管理员身份运行了 CMD。
- [SC] OpenService FAILED 1060: 找不到指定的服务,请检查服务名称(短名称)是否正确。
- [SC] StartService FAILED 1053: 服务没有及时响应启动或控制请求,这通常意味着服务在启动时卡住了,可能需要检查系统日志或重启电脑。
对于在 cmd 中重启服务,最佳实践是:
- 以管理员身份打开命令提示符。
- 使用
sc命令,因为它功能最全。 - 遵循
stop->query->start的三步法,确保操作安全可靠。 - 记住使用服务的短名称(如
wuauserv),而不是显示名称。
