学习使用命令安装和卸载windows服务

发布时间:2020-01-06编辑:脚本学堂
使用命令安装和卸载windows服务

安装服务
InstallUtil.exe 服务名

卸载服务
InstallUtil.exe 服务名 /u 或者 服务名 -uninstall

启动服务: net start 服务名
停止服务: net stop 服务名

SC.exe 检索和设置有关服务的控制信息
可以使用 SC.exe 来测试和调试服务程序。可以设置存储在注册表中的服务属性来控制如何在启动时和作为后台程序运行时启动服务应用程序。
SC.exe 的参数可以配置指定的服务,检索当前服务的状态,也可以停止和启动服务。
可以生成批处理文件来调用不同的 SC.exe 命令以自动启动或关闭服务序列。
SC.exe 提供的功能类似于“控制面板”中“管理工具”项中的“服务”。

打开CMD后,运行SC命令得到如下help信息:

描述:
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------枚举服务的依存关系。

示例:
1)启动服务
 

复制代码 代码如下:
sc start MyService

2)创建服务
 

复制代码 代码如下:
sc create BITS binpath= "C:WINDOWSsystem32svchost.exe -k netsvcs" type= share start= auto displayname= "Background Intelligent Transfer Service" depend= RpcSs/EventSystem

3)修改服务描述
 

复制代码 代码如下:
sc description BITS "利用空闲的网络带宽在后台传输文件。"

4)删除服务
 

复制代码 代码如下:
sc delete 主动防御

提示:sc cretate命令后面带的参数比如[binPath= ]的等号后面必须有个空格,没空格你怎么折腾都不行的,哈哈。微软还真搞笑啊,搞这么个功能迷惑人。同样,后面的其它参数比如group= , displayname=的等号后面都需要空格,不然sc create命令不会成功创建服务,只会返回给你帮助信息。

下列命令不查询服务名称:
sc <server> <command> <option>
boot------------(ok | bad) 表明是否将上一次启动保存为最后所知的好的启动配置
Lock------------锁定服务数据库
QueryLock-------查询 SCManager 数据库的 LockStatus

对SC query的说明:
列举活动服务和驱动程序状态,使用命令: sc query
显示messenger服务,使用命令: sc query messenger
只列举活动的驱动程序,使用命令: sc query type= driver
列举Win32服务,使用命令: sc query type= service
列举所有的服务和驱动程序,使用命令: sc query state= all
用50 byte的缓冲区来进行列举,使用命令: sc query bufsize= 50
在恢复列举时使用index=14,使用命令: sc query ri=14
列举所有的交互式服务,使用命令: sc query type= service type= interact