Windows服务控制命令SC

SC

描述:
        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 驱动程序

设置服务状态:
语法:
sc <server> config [service name] <option1> <option2>...
CONFIG OPTIONS:
NOTE: The option name includes the equal sign.
 type= <own|share|interact|kernel|filesys|rec|adapt>
 start= <boot|system|auto|demand|disabled>
 error= <normal|severe|critical|ignore>
 binPath= <BinaryPathName>
 group= <LoadOrderGroup>
 tag= <yes|no>
 depend= <Dependencies(separated by / (forward slash))>
 obj= <AccountName|ObjectName>
 DisplayName= <display name>
 password= <password>

例:sc config servicename start= auto
注意:start= 与 auto之间存在空格

停启服务:sc stop/start servicename

实战中,需要注意,如果start后,立即stop.可能stop命令出错.建议隔几秒.如下:

cd c:\windows\system32
sc stop Beisen.ReportEngine.WindowsService
xcopy E:\Websites\A\*.* E:\Services\B\ /s /y
ping -n 20 127.1>nul
SC start Beisen.ReportEngine.WindowsService

原文地址:https://www.cnblogs.com/a311300/p/1922229.html