SC命令,是用来与服务控制管理器和服务进行通信的命令行程序。
> sc
SC命令用法:
sc [command] [service name] ...
选项的格式为 "\\ServerName"
可通过键入以下命令获取有关命令的更多帮助: "sc [command]"
命令:
query-----------查询服务的状态,
或枚举服务类型的状态。
queryex---------查询服务的扩展状态,
或枚举服务类型的状态。
start-----------启动服务。
pause-----------向服务发送 PAUSE 控制请求。
interrogate-----向服务发送 INTERROGATE 控制请求。
continue--------向服务发送 CONTINUE 控制请求。
stop------------向服务发送 STOP 请求。
config----------更改服务的配置(永久)。
description-----更改服务的描述。
failure---------更改失败时服务执行的操作。
failureflag-----更改服务的失败操作标志。
sidtype---------更改服务的服务 SID 类型。
privs-----------更改服务的所需特权。
managedaccount--更改服务以将服务帐户密码
标记为由 LSA 管理。
qc--------------查询服务的配置信息。
qdescription----查询服务的描述。
qfailure--------查询失败时服务执行的操作。
qfailureflag----查询服务的失败操作标志。
qsidtype--------查询服务的服务 SID 类型。
qprivs----------查询服务的所需特权。
qtriggerinfo----查询服务的触发器参数。
qpreferrednode--查询服务的首选 NUMA 节点。
qmanagedaccount-查询服务是否将帐户
与 LSA 管理的密码结合使用。
qprotection-----查询服务的进程保护级别。
quserservice----查询用户服务模板的本地实例。
delete ----------(从注册表中)删除服务。
create----------创建服务(并将其添加到注册表中)。
control---------向服务发送控制。
sdshow----------显示服务的安全描述符。
sdset-----------设置服务的安全描述符。
showsid---------显示与任意名称对应的服务 SID 字符串。
triggerinfo-----配置服务的触发器参数。
preferrednode---设置服务的首选 NUMA 节点。
GetDisplayName--获取服务的 DisplayName。
GetKeyName------获取服务的 ServiceKeyName。
EnumDepend------枚举服务依赖关系。
以下命令不需要服务名称:
sc
boot------------(ok | bad)指示是否应将上一次启动另存为
最近一次已知的正确启动配置
Lock------------锁定服务数据库
QueryLock-------查询 SCManager 数据库的 LockStatus
示例:
sc start MyService
QUERY 和 QUERYEX 选项:
如果查询命令带服务名称,将返回
该服务的状态。其他选项不适合这种
情况。如果查询命令不带参数或
带下列选项之一,将枚举此服务。
type= 要枚举的服务的类型(driver, service, userservice, all)
(默认 = service)
state= 要枚举的服务的状态 (inactive, all)
(默认 = active)
bufsize= 枚举缓冲区的大小(以字节计)
(默认 = 4096)
ri= 开始枚举的恢复索引号
(默认 = 0)
group= 要枚举的服务组
(默认 = all groups)
语法示例
sc query - 枚举活动服务和驱动程序的状态
sc query eventlog - 显示 eventlog 服务的状态
sc queryex eventlog - 显示 eventlog 服务的扩展状态
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= interact - 枚举所有不活动服务
sc query type= driver group= NDIS - 枚举所有 NDIS 驱动程序
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
sc[command][servicename]...
选项的格式为"\\ServerName"
可通过键入以下命令获取有关命令的更多帮助:"sc [command]"
命令:
query-----------查询服务的状态,
或枚举服务类型的状态。
queryex---------查询服务的扩展状态,
或枚举服务类型的状态。
start-----------启动服务。
pause-----------向服务发送PAUSE控制请求。
interrogate-----向服务发送INTERROGATE控制请求。
continue--------向服务发送CONTINUE控制请求。
stop------------向服务发送STOP请求。
config----------更改服务的配置(永久)。
description-----更改服务的描述。
failure---------更改失败时服务执行的操作。
failureflag-----更改服务的失败操作标志。
sidtype---------更改服务的服务SID类型。
privs-----------更改服务的所需特权。
managedaccount--更改服务以将服务帐户密码
标记为由LSA管理。
qc--------------查询服务的配置信息。
qdescription----查询服务的描述。
qfailure--------查询失败时服务执行的操作。
qfailureflag----查询服务的失败操作标志。
qsidtype--------查询服务的服务SID类型。
qprivs----------查询服务的所需特权。
qtriggerinfo----查询服务的触发器参数。
qpreferrednode--查询服务的首选NUMA节点。
qmanagedaccount-查询服务是否将帐户
与LSA管理的密码结合使用。
qprotection-----查询服务的进程保护级别。
quserservice----查询用户服务模板的本地实例。
delete----------(从注册表中)删除服务。
create----------创建服务(并将其添加到注册表中)。
control---------向服务发送控制。
sdshow----------显示服务的安全描述符。
sdset-----------设置服务的安全描述符。
showsid---------显示与任意名称对应的服务SID字符串。
triggerinfo-----配置服务的触发器参数。
preferrednode---设置服务的首选NUMA节点。
GetDisplayName--获取服务的DisplayName。
GetKeyName------获取服务的ServiceKeyName。
EnumDepend------枚举服务依赖关系。
以下命令不需要服务名称:
sc
boot------------(ok|bad)指示是否应将上一次启动另存为
最近一次已知的正确启动配置
Lock------------锁定服务数据库
QueryLock-------查询SCManager数据库的LockStatus
示例:
scstartMyService
QUERY和QUERYEX选项:
如果查询命令带服务名称,将返回
该服务的状态。其他选项不适合这种
情况。如果查询命令不带参数或
带下列选项之一,将枚举此服务。
type=要枚举的服务的类型(driver,service,userservice,all)
(默认=service)
state=要枚举的服务的状态(inactive,all)
(默认=active)
bufsize=枚举缓冲区的大小(以字节计)
(默认=4096)
ri=开始枚举的恢复索引号
(默认=0)
group=要枚举的服务组
(默认=allgroups)
语法示例
scquery-枚举活动服务和驱动程序的状态
scqueryeventlog-显示eventlog服务的状态
scqueryexeventlog-显示eventlog服务的扩展状态
scquerytype=driver-仅枚举活动驱动程序
scquerytype=service-仅枚举Win32服务
scquerystate=all-枚举所有服务和驱动程序
scquerybufsize=50-枚举缓冲区为50字节
scqueryri=14-枚举时恢复索引=14
scqueryexgroup=""-枚举不在组内的活动服务
scquerytype=interact-枚举所有不活动服务
scquerytype=drivergroup=NDIS-枚举所有NDIS驱动程序
SC 命令用法实例:
1.SC的基本格式:
sc [command] [service name]
这是他的基本格式,在管理远程主机时只需在SC后加上\\IP地址
sc \\192.168.0.1 query eventlog
2.查看一个服务的运行状态 sc query 服务名
C:\tools>sc query eventlog
SERVICE_NAME: eventlog //显示的服务名
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 4 RUNNING //运行的状态
(NOT_STOPPABLE,NOT_PAUSABLE,ACCEPTS_SHUTDOWN) //下面讲
WIN32_EXIT_CODE : 0 (0×0)
SERVICE_EXIT_CODE : 0 (0×0)
CHECKPOINT : 0×0
WAIT_HINT : 0×0
运行的状态有: stopped(停止) /running(运行) /start_pending(等待启动)等状态
(NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
这个信息显示此服务可以接受的控制命令,上面这个就是//不能停止//不能暂停//接受关机
3.查看一个服务的配置信息
sc qc 服务名
C:\tools>sc qc eventlog
[SC] GetServiceConfig SUCCESS
SERVICE_NAME: eventlog
TYPE : 20 WIN32_SHARE_PROCESS
START_TYPE : 2 AUTO_START //启动类别
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : C:\WINNT\system32\services.exe //启动文件路径
LOAD_ORDER_GROUP : Event log
TAG : 0
DISPLAY_NAME : Event Log
DEPENDENCIES :
SERVICE_START_NAME : LocalSystem
启动类别包括auto_start(自动)DEMAND_START(手动)DISABLED(禁止)
4.启动一个服务
sc start 服务名
5.暂停一个服务
sc pause 服务名
6.继续一个服务
sc continue 服务名
7.停止一个服务
sc stop 服务名
8.禁止一个服务
sc 服务名 config start= disabled
9.将一个服务设为自动运行
sc 服务名 config start= auto
10.将一个服务设为手动运行
sc 服务名 config start= demand
11.创建一个服务
sc create 服务名 参数1 参数2 …..
以下是参数列表
type=
start=
error=
binPath=
group=
tag=
depend=
obj=
DisplayName=
password=
12.删除一个服务
sc delete 服务名
13.查看所有的已运行的服务
sc query
14.查看所有的services & drivers服务
sc query start= all
15.查看未运行的服务
sc query state= inactive
16.从指定索引号恢复查看
sc query ri= 号
17.锁住服务数据库
sc lock
sc.exe还有其他许多查询和设置的功能,比如查看服务依存关系等等
还可修改更细的服务配置,如修改服务描述服务角色等等,
具体请查看sc.exe的帮助,里面写的很详细.