创建和删除服务需要使用 SC 工具

$ 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---------更改失败时服务执行的操作。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 MyServiceQUERY 和 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 驱动程序

SC命令创建和删除windows服务

命令格式

sc [servername] create Servicename [Optionname= Optionvalues]

参数

  • servername
    可选,可以使用双斜线,如\\myserver,也可以是\\192.168.0.1来操作远程计算机。如果在本地计算机上操作就不用添加任何参数。

  • Servicename
    在注册表中为service key制定的名称。注意这个名称是不同于显示名称的(这个名称可以用net start和服务控制面板看到),而SC是使用服务键名来鉴别服务的。

  • Optionname
    这个optionname和optionvalues参数允许你指定操作命令参数的名称和数值。注意,这一点很重要在操作名称和等号之间是没有空格的。

    如果你想要看每个命令的可以用的optionvalues,你可以使用sc command这样的格式。这会为你提供详细的帮助。

  • Optionvalues
    为optionname的参数的名称指定它的数值。有效数值范围常常限制于哪一个参数的optionname。如果要列表请用sc command来询问每个命令。

Optionname–Optionvalues描述

  • type=----own, share, interact, kernel, filesy

    关于建立服务的类型,选项值包括驱动程序使用的类型,默认是share。

  • start=----boot, sys tem, auto, demand, disabled

    关于启动服务的类型,选项值包括驱动程序使用的类型,默认是demand(手动)。

  • error=----normal, severe, critical, ignore

    当服务在导入失败错误的严重性,默认是normal。

  • binPath=–(string)

服务二进制文件的路径名,这里没有默认值,这个字符串是必须设置的。

  • group=----(string)

这个服务属于的组,这个组的列表保存在注册表中的ServiceGroupOrder下。默认是nothing。

  • tag=----(string)

如果这个字符串被设置为yes,sc可以从CreateService call中得到一个tagId。然而,SC并不显示这个标签,所以使用这个没有多少意义。默认是nothing

  • depend=----(space separated string)有空格的字符串。

在这个服务启动前必须启动的服务的名称或者是组。

  • obj=----(string)

账号运行使用的名称,也可以说是登陆身份。默认是localsys tem

  • Displayname=–(string)

一个为在用户界面程序中鉴别各个服务使用的字符串。

  • password=–(string)

一个密码,如果一个不同于localsys tem的账号使用时需要使用这个。

  • Optionvalues

    Optionname参数名称的数值列表。参考optionname。当我们输入一个字符串时,如果输入一个空的引用这意味着一个空的字符串将被导入。

需要注意的是:

  1. 在option= xxxxx格式中,“=”号和后面的内容一定要有空格,如depend= Tcpip

  2. 如果命令中的需要进行双引号的嵌套,使用反斜杠加引号 " " " 来进行转义处理。

示例

sc create svnservice binpath= "\"D:\Servers\Subversion\bin\svnserve.exe\" --service -r E:\SVN\repository" displayname= "SVNService" depend= Tcpip start= auto

使用SC命令删除windows服务

sc delete

从注册表中删除服务子项。如果服务正在运行或者另一个进程有一个该服务的打开句柄,那么此服务将标记为删除。

语法

sc [ServerName] delete [ServiceName]

参数

  • ServerName

指定服务所在的远程服务器名称。该名称必须使用 UNC 格式(“\myserver”)。要在本机上运行 SC.exe,请忽略此参数。

  • ServiceName

指定由 getkeyname 操作返回的服务名。

示例

sc delete svnservice

失败提示:DeleteService FAILED 1072
在删除服务时可能会遇上一个失败提示“DeleteService FAILED 1072: The specified service has been marked for deletion.”,或者运行没报错,但服务仍然在服务管理列表中。

这 是因为server被卸载掉时,会检查状态(实际是标记状 态,启动服务时检查,确定定启动或是卸载)。如果是启动状态,则在服务停止时自动卸载;否则立即卸载。所以报错的原因可能是因为服务处于启动状态,所以无 法删除,如果需要立即删除,需要使用命令终止服务,命令格式如下:

sc stop ServiceName

SC命令创建和删除windows服务相关推荐

  1. 用SC命令 添加或删除windows服务提示OpenSCManager 失败5

    在安装命令行中安装  windowsOpenSCManager 失败5  的错误,原因是当前用户的权限不足,需要做的是在注册表 HKEY_LOCAL_MACHINE\Software\Microsof ...

  2. 如何使用VS+C#创建,优雅自动化的安装(不使用命令行),调试,更新Windows服务

    轻量级,即是服务部署器,又是服务本体,免命令行,免bat.直接部署和调试代码的东西,也就长这样了. 看这一篇文章应该可以把你构建和调试windows服务这些事儿玩儿转. 一.创建服务 1.可以打开VS ...

  3. 使用命令行配置启动windows服务

    使用命令行配置启动windows服务 转载自:http://blog.csdn.net/wuliao009/article/details/7203219 使用命令行启动服务 1. 打开"命 ...

  4. 如何把计算机管理的服务删掉,如何删除windows服务

    一.什么是Windows服务 Windows服务也称为Windows Service,它是Windows操作系统和Windows网络的基础,属于系统核心的一部分,它支持着整个Windows的各种操作. ...

  5. 在win7下删除Windows服务的方法

    win7 删除Windows服务的方法 点评:通过删除Windows服务删除隐藏在Vista系统服务中的病毒. 一.什么是Windows服务   Windows服务也称为Windows Service ...

  6. 【推荐】如何删除windows服务

    一.什么是Windows服务      Windows服务也称为Windows Service,它是Windows操作系统和Windows网络的基础,属于系统核心的一部分,它支持着整个Windows的 ...

  7. 如何在Windows 7、8、10,Vista或XP中删除Windows服务

    If you are a fan of tweaking your system and disabling services, you might find that over time your ...

  8. win7 删除Windows服务的方法

    From: http://www.jb51.net/os/windows/25090.html 一.什么是Windows服务 Windows服务也称为Windows Service,它是Windows ...

  9. 如何删除windows服务zz 重新安装PostgreSQL时删除上次遗留service的方法

    如何删除windows服务2006-10-10 11:09     作者:网络安全日志( www.nslog.cn ) 日期:2006/10/10  ( 转载请保留此申明) 一.什么是Windows服 ...

最新文章

  1. Hbase之protobuf的使用
  2. poj-2336 Ferry Loading II(dp)
  3. windows安装XGBoost
  4. springmvc学习笔记--mybatis--使用插件自动生成实体和mapper
  5. Keepalived 做负载均衡(简单实例)
  6. linux adduser mysql_linux_adduser
  7. js跨域 ajax跨域问题解决
  8. web前端开发视频教程完整54讲下载
  9. Chrome视频加速播放器(下载安装记录)
  10. 贪心算法 --- 例题2.哈夫曼编码问题
  11. html 表格单元格点击事件,bootstrap table onClickCell点击单元格事件
  12. 服务器被攻击怎么办?常见处理方法
  13. asp.net中gridview的绑定数据源实现增删改查
  14. 【超好懂的比赛题解】第四届SCPC中南民族大学程序设计竞赛(同步赛)
  15. 我觉得,我认为。。。
  16. 关机时候计算机更新,电脑关机时提示更新,能否强制关机?
  17. 处理solr时遇到的问题
  18. python免费课程全套-为了学习Python,我汇总了这10个免费的视频课程!
  19. oracle补位函数 不足位数补0
  20. 期货穿仓是什么意思(期货交易穿仓)

热门文章

  1. 猎头公司网站 -- 有人看么,什么人在看?
  2. 软件工程师职业规划_为什么公司文化对您作为软件工程师的职业很重要
  3. 综述:什么是光流及其在深度学习中的应用
  4. linux防病毒检测,ddos防护:Linux恶意软件检测工具-墨者安全-墨者盾
  5. 计算机 面试英语,计算机面试英语自我介绍
  6. No2.大话设计模式学习之策略、装饰、代理模式
  7. 基于JavaEE电子邮件系统的设计与实现
  8. 跟叶子学把妹——教程序猿把妹第一集
  9. 【图的连通性】poj2942圆桌骑士
  10. 使用JMH编写基准测试