• 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---------更改失败时服务执行的操作。
              failureflag-----更改服务的失败操作标志。
              sidtype---------更改服务的服务 SID 类型。
              privs-----------更改服务的所需特权。
              managedaccount--更改服务以将服务帐户密码
                              标记为由 LSA 管理。
              qc--------------查询服务的配置信息。
              qdescription----查询服务的描述。
              qfailure--------查询失败时服务执行的操作。
              qfailureflag----查询服务的失败操作标志。
              qsidtype--------查询服务的服务 SID 类型。
              qprivs----------查询服务的所需特权。
              qtriggerinfo----查询服务的触发器参数。
              qpreferrednode--查询服务的首选 NUMA 节点。
              qmanagedaccount-查询服务是否将帐户
                              与 LSA 管理的密码结合使用。
              qprotection-----查询服务的进程保护级别。
              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= 枚举缓冲区的大小(以字节计)
                 (默认 = 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 驱动程序


    windows下sc create命令行添加/创建/修改服务

    windows下sc create命令行添加/创建/修改服务
    sc create BITS binpath= "C:WINDOWSsystem32svchost.exe -k netsvcs" type= share start= auto displayname= "Background Intelligent Transfer Service" depend= RpcSs/EventSystem 
    修改描述: 
    sc description BITS "利用空闲的网络带宽在后台传输文件。如果服务被停用,例如 Windows Update 和 MSN Explorer 的功能将无法自动下载程序和其他信息。如果此服务被禁用,任何依赖它的服务如果没有容错技术以直接通过 IE 传输文件,一旦 BITS 被禁用,就可能无法传输文件。" 

    添加服务: 
    sc create PolicyAgent binpath= "C:WINDOWSsystem32lsass.exe" type= share start= auto displayname= "IPSEC Services" depend= RPCSS/Tcpip/IPSec 
    修改描述: 
    sc description PolicyAgent "提供 TCP/IP 网络上客户端和服务器之间端对端的安全。如果此服务被停用,网络上客户端和服务器之间的 TCP/IP 安全将不稳定。如果此服务被禁用,任何依赖它的服务将无法启动。" 

    SC命令的更多用法请在查看help sc 

    (注册表修改前请做好备份), 

    SvcHost共享服务的特别之处:或许重启后还需要到注册表位置:[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSvcHost],查看"C:WINDOWSsystem32svchost.exe -k netsvcs"以红色字为名的键(这里以netsvcs为例),键值里是否定义有sc create BITS蓝色字的服务(这里以BITS为例),如果没有就在键值把服务名(这里以BITS为例)添加上去,再重启一次。 
      
    sc [ServerNamecreate [ServiceName] [type= {own | share | kernel | filesys | rec | adapt | interact type= {own | share}}] [start= {boot | system | auto | demand | disabled}] [error= {normal | severe | critical | ignore}] [binpath= BinaryPathName] [group= LoadOrderGroup] [tag= {yes | no}] [depend= dependencies] [obj= {AccountName | ObjectName}] [displayname= DisplayName] [password= Password]

    参数

    ServerName
    指定服务所在的远程服务器名称。该名称必须使用 UNC 格式(“\myserver”)。要在本机上运行 SC.exe,请忽略此参数。
    ServiceName
    指定由 getkeyname 操作返回的服务名。
    type= {own | share | kernel | filesys | rec | adapt | interact type= {own | share}}
    指定该服务类型。默认类型为 type= own


    描述

    own
    服务以其自身的进程运行。不与其他服务共享可执行文件。这是默认设置。

    share
    服务作为共享进程运行。它与其他服务共享一可执行文件。

    kernel
    驱动程序。

    filesys
    文件系统驱动程序。

    rec
    文件系统识别驱动器(标识在计算机上使用的文件系统)。

    interact
    服务可以与桌面交互作用,接收用户的输入。交互服务必须在 LocalSystem 帐户下运行。该类型必须与 type= own 或 type= shared(例如,type= interact type= own)结合使用。单独使用 type= interact 将会产生一个无效参数错误。

    start= {boot | system | auto | demand | disabled}
    指定服务的启动类型。默认的启动类型是 start= demand

    boot
    由启动引导程序加载的设备驱动器。

    system
    在核心初始化过程中启动的设备驱动器。

    auto
    每次计算机重新启动时,甚至没有人登录计算机时,都能自动开始的服务。

    demand
    必须手动启动的服务。如果没有指定 start=,这就默认值。

    disabled
    不能启动的服务。要启动一个禁用的服务,把启动类型更改为其他值。

    error= {normal | severe | critical | ignore}
    如果在启动中,服务器启动失败,则指定错误的严重性。默认设置为 ascii

    normal
    将记录错误,并且显示消息对话框,通知用户服务启动失败。启动将继续。这是默认设置。

    severe
    记录错误(如果存在)。计算机尝试以最新的有效配置重新启动。这可能导致计算机能够重新启动,但服务器却仍然不能运行。

    critical
    记录错误(如果存在)。计算机尝试以最新的有效配置重新启动。如果上次已知正确的配置失败,启动也将失败,启动过程就会以“蓝屏”错误而停止。

    ignore
    错误已记录,启动继续。记录错误超出在事件日志的范围,不再给用户作出提示。

    binpath= BinaryPathName
    指定一个进入服务二进制文件的路径。binpath= 没有默认值,必须要给出此字符串。
    group= LoadOrderGroup
    指定一个该服务为其中成员的组名。组列表存储在 HKLMSystemCurrentControlSetControlServiceGroupOrder 子项的注册表中。默认设置为空值。
    tag= {yes | no}
    指定是否在“CreateService”调用中获得 TagID。标记仅用于根启动或系统启动驱动程序。
    depend= dependencies
    指定必须要在此项服务之前启动的服务名或组名。名称以斜线 (/) 分离开来。
    obj= {AccountName | ObjectName}
    指定一个将运行的服务的帐户名,或指定一个将会运行的驱动程序的 Windows 驱动程序对象名。
    displayname= DisplayName
    指定被用户界面程序用来标识服务的友好名称。
    password:password
    指定一个密码。如果使用的不是 LocalSystem 的帐户,密码是必需的。
    /?
    在命令提示符下显示帮助。

    注释

    • 如果参数及其值之间没有空格,(例如,是 type= own,而不是 type=own),则操作会失败。 






  • 相关阅读:
    SpringBoot之集成Socket
    SpringBoot之集成WebSocket
    SpringBoot之统一异常处理
    请求的转发和重定向
    5+App使用定位
    将Tomcat注册为Windows服务
    Tomcat环境变量设置
    CentOS7搭建Gitlab详细过程
    Python 12 内置函数
    Python 11 生成器
  • 原文地址:https://www.cnblogs.com/Full--Stack/p/8041397.html
Copyright © 2020-2023  润新知