Windows的sc命令 命令帮助
在dos窗口输入sc即可
C:\Users\msi>sc | |
描述: | |
SC 是用来与服务控制管理器和服务进行通信的命令行程序。 | |
用法: | |
sc <server> [command] [service name] <option> <option2>... | |
<server> 选项的格式为 "\\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 <server> <command> <option> | |
boot------------(ok | bad)指示是否应将上一次启动另存为 | |
最近一次已知的正确启动配置 | |
Lock------------锁定服务数据库 | |
QueryLock-------查询 SCManager 数据库的 LockStatus | |
示例: | |
sc start MyService | |
QUERY 和 QUERYEX 选项: | |
如果查询命令带服务名称,将返回 | |
该服务的状态。其他选项不适合这种 | |
情况。如果查询命令不带参数或 | |
带下列选项之一,将枚举此服务。 | |
type= 要枚举的服务的类型(driver, service, userservice, all) | |
(默认 = service) | |
state= 要枚举的服务的状态 (inactive, all) | |
(默认 = active) | |
bufsize= 枚举缓冲区的大小(以字节计) | |
(默认 =) | |
ri= 开始枚举的恢复索引号 | |
(默认 =) | |
group= 要枚举的服务组 | |
(默认 = all groups) | |
语法示例 | |
sc query - 枚举活动服务和驱动程序的状态 | |
sc query eventlog - 显示 eventlog 服务的状态 | |
sc queryex eventlog - 显示 eventlog 服务的扩展状态 | |
sc query type= driver - 仅枚举活动驱动程序 | |
sc query type= service - 仅枚举 Win 服务 | |
sc query state= all - 枚举所有服务和驱动程序 | |
sc query bufsize= - 枚举缓冲区为 50 字节 | |
sc query ri= - 枚举时恢复索引 = 14 | |
sc queryex group= "" - 枚举不在组内的活动服务 | |
sc query type= interact - 枚举所有不活动服务 | |
sc query type= driver group= NDIS - 枚举所有 NDIS 驱动程序 |
常用用法
创建
输入命令可以看到帮助文档:
示例:
# 安装服务 | |
## 服务名称是redis, | |
C:\Windows\system>sc create redis binpath= "D:\work\databases\Redis-x64-3.2.100\redis-server.exe --service-run D:\work\databases\Redis-x64-3.2.100\redis.windows.conf" | |
## 直接创建时也能设置显示名称 | |
C:\Windows\system>sc create redis binPath=D:\work\databases\Redis-x64-3.2.100\redis-server.exe DisplayName= redis |
查询
示例:
# 使用query参数 | |
C:\Windows\system>sc query redis | |
SERVICE_NAME: redis | |
TYPE : WIN32_OWN_PROCESS | |
STATE : STOPPED | |
WIN_EXIT_CODE : 1077 (0x435) | |
SERVICE_EXIT_CODE : (0x0) | |
CHECKPOINT :x0 | |
WAIT_HINT :x0 | |
# 使用queryex参数(比query查询多出两个结果) | |
C:\Windows\system>sc queryex redis | |
SERVICE_NAME: redis | |
TYPE : WIN32_OWN_PROCESS | |
STATE : STOPPED | |
WIN_EXIT_CODE : 1077 (0x435) | |
SERVICE_EXIT_CODE : (0x0) | |
CHECKPOINT :x0 | |
WAIT_HINT :x0 | |
PID : | |
FLAGS : |
启动
# 先查询服务状态(STOPPED) | |
C:\Windows\system>sc query redis | |
SERVICE_NAME: redis | |
TYPE : WIN32_OWN_PROCESS | |
STATE : STOPPED | |
WIN_EXIT_CODE : 1077 (0x435) | |
SERVICE_EXIT_CODE : (0x0) | |
CHECKPOINT :x0 | |
WAIT_HINT :x0 | |
# 启动服务(RUNNING) | |
C:\Windows\system>sc start redis | |
SERVICE_NAME: redis | |
TYPE : WIN32_OWN_PROCESS | |
STATE : RUNNING | |
(STOPPABLE, NOT_PAUSABLE, ACCEPTS_PRESHUTDOWN) | |
WIN_EXIT_CODE : 0 (0x0) | |
SERVICE_EXIT_CODE : (0x0) | |
CHECKPOINT :x0 | |
WAIT_HINT :x0 | |
PID : | |
FLAGS : |
停止
示例
# 直接停止 | |
sc stop redis | |
# 添加停止原因和备注 | |
sc stop redis:2:8 "must stop redis" |
配置
查看帮助:
示例(需要管理员权限):
C:\Windows\system>sc config redis displayname= REDIS | |
[ | ] ChangeServiceConfig 成功|
C:\Windows\system>sc description redis "redis的描述内容" | |
[ | ] ChangeServiceConfig 成功|
删除
查看帮助:
示例(需要管理员权限):
#删除服务 | |
C:\Windows\system>sc delete redis | |
[SC] DeleteService 成功 | |
# 删除后再查看 | |
C:\Windows\system>sc query redis | |
[SC] EnumQueryServicesStatus:OpenService 失败: | |
指定的服务未安装。 |
实例
手动启动 | |
sc Create 手动 binPath= "cmd /K start" type= own type= interact | |
sc start 手动 | |
sc Create 手动启动 binPath= "cmd /K start" type= own type= interact start= DEMAND | |
sc start 手动启动 | |
测试 | |
sc Create 自动启动 binPath= "cmd /K start" type= own type= interact start= AUTO | |
sc start 自动启动 |