首页/系统/Windows 运维速查/sc create / delete 创建删除服务

sc create / delete 创建删除服务

把程序注册为 Windows 服务或删除服务记录:部署与清理残留时使用,删除前先停用服务。

Windows 运维速查系统更新于 2026-10-13

sc create 是什么

sc 是 Windows 服务控制管理器(SCM)的命令行接口,create 子命令把可执行程序注册成系统服务,delete 移除服务记录。注册后的服务由 SCM 托管,能用 start/stop 控制、能配置自动启动与故障恢复,比丢一个 exe 到启动文件夹规范得多。适合把自研代理、采集程序、常驻脚本变成可管理的服务。

基本信息

适用平台Windows 全版本;需管理员权限的命令行
创建语法sc create <名称> binPath= <完整路径> start= auto|demand|disabled
关键规则每个等号后必须紧跟一个空格,这是 sc 的参数约定
删除语法sc delete <名称>(先停止再删)
配套命令sc description 写说明、sc qc 查配置、sc failure 配故障恢复
PowerShell 等价New-Service、Remove-Service、Set-Service

典型使用场景

  • 把自研采集代理注册为服务,实现开机自启与崩溃后自动重启
  • 部署需要常驻的第三方组件(如监控 agent、日志转发器)
  • 清理测试环境留下的服务残留,避免占用端口或反复弹错
  • 临时把一个可执行程序挂成服务验证启动参数是否正确
  • 统一修改服务描述与启动类型,让资产清单可读

常用示例

常用示例
sc create MyAgent binPath= "C:\apps\agent\agent.exe --svc" start= auto   # 等号后必须有空格
sc description MyAgent "示例代理服务"                                    # 加说明便于资产管理
sc start MyAgent                                                          # 立即启动验证
sc qc MyAgent                                                             # 查看配置,删除前留档
sc config MyAgent start= demand                                           # 改为手动启动
sc stop MyAgent && sc delete MyAgent                                      # 停用后删除

关键参数读法

参数含义常见取值
binPath=服务启动的完整命令行路径含空格要整段加引号
start=启动类型auto 自动、demand 手动、disabled 禁用
obj=运行账户默认 LocalSystem;域账户写 域\用户 并配密码
depend=依赖服务写成 服务名/服务名 可控制启动顺序
start 返回码启动结果1053 表示服务未及时响应,多为参数或权限问题
sc create 只做注册,不校验程序是否真能作为服务运行:普通控制台程序注册后启动会报 1053。程序需要实现服务控制处理逻辑,或用 nssm、winsw 这类包装器。
服务默认以 LocalSystem 运行,权限等于本机最高级别;能用专用低权限账户就不要留 LocalSystem,并为该账户单独授最小权限。

易错点

  • binPath= 少写那个空格会直接报参数错误,这是 sc 最常见的失败原因
  • 路径含空格却只在路径部分加引号(把参数留在引号外)会导致服务启动失败,整个命令行要一起引起来
  • sc delete 删除服务记录不可恢复,删前用 sc qc 导出配置、确认没有其他组件依赖它
  • 服务还在运行时删除会出现“标记为删除”状态,重启后才真正消失,排查时别误以为命令没生效

数据来源与参考

  • Microsoft Learn:sc create
  • Microsoft Learn:sc delete

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌