命令行管理系统服务工具 sc.exe
从Windows XP开始,其自带的DOS工具中加入了一个sc.exe(Service Control)的工具,可以对服务的启动类型以及服务的启动或者关闭等进行进行操作,再利用DOS的批处理优势,就可以把上面提到的操作进行简化。
sc.exe常用功能列表:
1.更改服务的启动状态(这是比较有用的一个功能)
2.删除服务(除非对自己电脑的软、硬件所需的服务比较清楚,否则不建议删除任何系统服务,特别是基础服务)
3.停止或启动服务(功能上类似于net stop/start,但速度更快且能停止的服务更多)
sc.exe的命令格式如下:
修改服务启动类型的命令行格式为(特别注意start=后面有一个空格)
sc config 服务名称 start= demand(设置服务为手动启动)
sc config 服务名称 start= disabled(设置服务为禁用)
停止/启动服务的命令行格式为
sc stop/start 服务名称
详细的帮助如下:
D:/>sc.exe
描述:
SC 是用于与服务控制管理器通信的命令行程序。
用法:
sc <server> [command] [service name] <option1> <option2>…
选项 <server> 的格式为 "//ServerName"
可以键入 "sc [command]"以获得命令的进一步帮助
命令:
query———–查询服务的状态,
或枚举服务类型的状态。
queryex———查询服务的扩展状态,
或枚举服务类型的状态。
start———–启动服务。
pause———–发送 PAUSE 控制请求到服务。
interrogate—–发送 INTERROGATE 控制请求到服务。
continue——–发送 CONTINUE 控制请求到服务。
stop————发送 STOP 请求到服务。
config———-(永久地)更改服务的配置。
description—–更改服务的描述。
failure———更改服务失败时所进行的操作。
qc————–查询服务的配置信息。
qdescription—-查询服务的描述。
qfailure——–查询失败服务所进行的操作。
delete———-(从注册表)删除服务。
create———-创建服务(将其添加到注册表)。
control———发送控制到服务。
sdshow———-显示服务的安全描述符。
sdset———–设置服务的安全描述符。
GetDisplayName–获取服务的 DisplayName。
GetKeyName——获取服务的 ServiceKeyName。
EnumDepend——枚举服务的依存关系。
下列命令不查询服务名称:
sc <server> <command> <option>
boot————(ok | bad) 表明是否将上一次启动保存为
最后所知的好的启动配置
Lock————锁定服务数据库
QueryLock——-查询 SCManager 数据库的 LockStatus
示例:
sc start MyService
QUERY 和 QUERYEX 选项:
如果查询命令带服务名称,将返回
该服务的状态。其他选项不适合这种
情况。如果查询命令不带参数或
带下列选项之一,将枚举此服务。
type= 要枚举的服务的类型(driver, service, all)
默认 = service)
state= 要枚举的服务的状态 (inactive, all)
(默认 = active)/n"
bufsize= 枚举缓冲区的大小(以字节计)
(默认 = 4096)
ri= 开始枚举的恢复索引号/n"
(默认 = 0)
group= 要枚举的服务组
(默认 = all groups)
句法示例
sc query – 枚举活动服务和驱动程序的状态
sc query messenger – 显示信使服务的状态
sc queryex messenger – 显示信使服务的扩展状态
sc query type= driver – 仅枚举活动驱动程序
sc query type= service – 仅枚举 Win32 服务
sc query state= all – 枚举所有服务和驱动程序
sc query bufsize= 50 – 枚举缓冲区为 50 字节
sc query ri= 14 – 枚举时恢复索引 = 14
sc queryex group= /"/" – 枚举不在组内的活动服务
sc query type= service type= interact – 枚举所有不活动服务
sc query type= driver group= NDIS – 枚举所有 NDIS 驱动程序