参考链接:https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/sc-create
指令清单
通过cmd
注册服务,需要cmd
执行管理员权限
,sc.exe
创建 | Microsoft Docs,执行指令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---------更改失败时服务执行的操作。 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= 枚举缓冲区的大小(以字节计) (默认 = 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 驱动程
这么长,我们需要细细看一看😅也可以直接cmd
输出sc [commandname]
进行用途查看,其中需要注意的是<server>
并不是服务名称,而是针对远程服务器的对应服务器名称,本地运行sc.exe
不需要此参数,笔者在这儿,抽取常用项,如下:
sc create
描述: 在注册表和服务数据库中创建服务项。 用法: sc <server> create [service name] [binPath= ] <option1> <option2>... 选项: 注意: 选项名称包括等号。 等号和值之间需要一个空格。 type= <own|share|interact|kernel|filesys|rec|userown|usershare> (默认 = own) start= <boot|system|auto|demand|disabled|delayed-auto> (默认 = demand) error= <normal|severe|critical|ignore> (默认 = normal) binPath= <.exe 文件的 BinaryPathName> group= <LoadOrderGroup> tag= <yes|no> depend= <依存关系(以 / (斜杠)分隔)> obj= <AccountName|ObjectName> (默认= LocalSystem) DisplayName= <显示名称> password= <密码>
sc config
描述: 在注册表和服务数据库中修改服务项。 用法: sc <server> config [服务名称] <option1> <option2>... 选项: 注意: 选项名称包括等号。 等号和值之间需要一个空格。 要删除依赖关系,请使用单个“/”表示依赖关系值。 type= <own|share|interact|kernel|filesys|rec|adapt|userown|usershare> start= <boot|system|auto|demand|disabled|delayed-auto> error= <normal|severe|critical|ignore> binPath= <.exe 文件的 BinaryPathName> group= <LoadOrderGroup> tag= <yes|no> depend= <依赖关系(以 / (正斜杠)分隔)> obj= <AccountName|ObjectName> DisplayName= <显示名称> password= <密码>
sc description
描述: 设置服务的描述字符串。 用法: sc <server> description [service name] [description]
sc start
描述: 启动服务运行。 用法: sc <server> start [service name] <arg1> <arg2> ...
sc query
在cmd
中直接sc query
执行,默认查询出当前系统所有注册的服务信息
描述: 查询服务信息。 用法: sc <server> query [service name] [type= {driver | service | all}] [type= {own | share | interact | kernel | filesys | rec | adapt}] [state= {active | inactive | all}] [bufsize= <Buffersize>] [ri= <Resumeindex>] [group= <groupname>] 选项: 注意: 选项名称包括等号。 type={driver | service | all } (默认 = service) 指定要枚举的内容。 选项包括: 驱动程序 -指定仅枚举驱动程序。 服务 -仅指定枚举服务。 这是默认值。 all -指定同时枚举驱动程序和服务。 type={ own | share | interact | kernel | filesys | rec | adapt } 指定要枚举的服务或驱动程序类型的类型。 选项包括: 拥有 -指定在其自己的进程中运行的服务。 它不与其他服务共享可执行文件。 这是默认值。 共享 -指定作为共享进程运行的服务。 它与其他服务共享可执行文件。 内核 -指定驱动程序。 filesys -指定文件系统驱动程序。 rec -指定文件系统识别的驱动程序,该驱动程序标识计算机上使用的文件系统。 交互 -指定可与桌面交互的服务,接收来自用户的输入。 交互式服务必须在 LocalSystem 帐户下运行。 此类型必须结合使 用 type=自有或type=shared (例如, type=交互****类型 =) 。 使用type=自行交互会生成错误。 state= {active | inactive | all} (默认 = active) 指定要枚举的服务的已启动状态。 选项包括: 活动 -指定所有活动的服务。 这是默认值。 非活动 -指定所有暂停或停止的服务。 全部 -指定所有服务。 bufsize= <Buffersize> (默认 = 4096) 指定枚举缓冲区) 大小 ((以字节为单位)。 默认缓冲区大小为1024个字节。 当查询生成的显示超过1024个字节时,应增加缓冲区的大小。 ri= <Resumeindex> (默认 = 0) 指定枚举开始或恢复的索引号。 默认值为 0(零)。 如果返回的信息与默认缓冲区可显示的信息不同,请将此参数与 bufsize= 参数一起使用。 group= <Groupname> (默认 = all groups) 指定要枚举的服务组。 默认情况下,会枚举所有组。 默认情况下,将 ( * * group = * * ) 枚举所有组。 /? 在命令提示符下显示帮助。
sc pause
描述: 发送 PAUSE 控制请求到服务。 用法: sc <server> pause [service name]
sc continue
描述: 发送 CONTINUE 控制请求到服务。 用法: sc <server> continue [service name]
sc stop
描述: 发送 STOP 控制请求到服务。 用法: sc <server> stop [service name] <reason> <comment> <reason> = 服务停止的可选原因代码编号
sc delete
描述: 从注册表删除服务项。 如果服务正在运行,或另一进程已经打开 到此服务的句柄,服务将简单地标记为 删除。 用法: sc <server> delete [service name]
以上为基于微软
官方说明文件内容进行的翻译和个人理解的各类指令的基本说明