net start / net stop 是干什么的
net 是 CMD 里的老牌服务与账户管理命令,net start 不带参数会列出所有正在运行的服务,带参数则启动指定服务,net stop 用于停止。它按“显示名”匹配,和 sc 按“服务名”匹配是两套口径,这也是“服务名无效”报错的最常见来源。命令简单直观,适合手工操作与快速确认。
基本信息
| 适用平台 | Windows 全版本(含服务器核心) |
|---|---|
| 语法 | net start [显示名];net stop 显示名 |
| 权限 | 启停服务需管理员;只列出运行中服务普通用户也可 |
| 对照命令 | sc query / sc start / sc stop 用服务名;Get-Service 用显示名或 Name |
典型使用场景
- 快速确认服务是否在跑:net start 一眼扫过运行中列表
- 手工重启服务:改完配置后停止再启动,比图形界面快
- 排“服务起不来”:先 start 看报错码,再去事件日志对原因
- 过滤关键服务:net start | findstr 检查数据库、代理等业务服务
- 老脚本维护:遗留批处理里大量使用 net start,接手时要看懂
常用示例
常用示例
:: 列出所有运行中的服务
net start
:: 启动/停止(显示名,含空格要加引号)
net start "Print Spooler"
net stop "Windows Update"
:: 过滤确认业务服务是否在跑
net start | findstr /i "mysql"
:: 与之等价的按服务名查询(脚本更友好)
sc query wuauserv
:: PowerShell 等价写法
Start-Service -Name Spooler; Stop-Service -Name Spooler三种服务命令对比
| 命令 | 匹配依据 | 适合场景 |
|---|---|---|
| net start / stop | 显示名 | 手工操作、快速查看 |
| sc start / stop | 服务名 | 脚本与无人值守 |
| Start-Service / Stop-Service | Name 参数(服务名) | PowerShell 自动化 |
net stop 遇到有依赖关系的服务会弹出交互式询问“是否也停止依赖服务”。这种交互在计划任务或远程会话里会造成卡死,脚本场景应改用 sc stop 或 Stop-Service -Force 明确指定行为。
停止关键服务(如 Windows Update、Defender、SMB 相关)会立刻影响补丁与安全防护。生产环境停服务要有变更窗口与回滚预案,别在业务高峰期试手。
服务启动失败时会给出 Win32 错误码,常见如 1053(服务未及时响应)、1067(进程意外终止)、1069(登录失败)。拿错误码去事件日志的“服务控制管理器”里对时间点,能找到更完整的原因。
常见错误码
| 错误码 | 含义 | 排查方向 |
|---|---|---|
| 1053 | 服务未及时响应启动请求 | 启动脚本超时、依赖项未就绪 |
| 1067 | 进程意外终止 | 程序自身崩溃,查应用日志 |
| 1069 | 登录失败 | 服务账户密码过期或被禁用 |
| 5 | 拒绝访问 | 当前会话未提权 |