使用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, filesys
关于建立服务的类型,选项值包括驱动程序使用的类型,默认是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 stop svnservice
参考资料:http://www.cnblogs.com/rainbowzc/archive/2008/10/04/1303731.html
分享到:
相关推荐
`sc`命令是Windows系统提供的服务控制管理器,可以用来创建、查询、控制和删除服务。以下是一些基本的`sc`命令示例: 1. 创建服务:`sc create ServiceName binPath= "PathToExe" DisplayName= "Service Display ...
本篇文章将详细探讨如何创建Windows服务以及如何使用`sc create`命令进行操作。 1. **Windows服务的创建** Windows服务通常由系统管理员创建,以便为特定的应用程序或功能提供持久的后台支持。创建服务的过程包括...
找了n多据说是创建windows服务的vc代码,发现了n多问题。...删除服务请使用sc delete。 经过一番折腾。形成了一个初步框架,该框架内。通过改写我修改的线程函数。你可以做你想做的任何事情。 相信我,8分绝对不亏。
本文将详细讲解如何安装、管理和删除Windows服务,以及涉及到的进程删除操作。 首先,让我们了解如何安装Windows服务。安装服务通常通过编写特定的安装脚本或者使用工具来完成。在.NET Framework中,可以使用`...
在Windows中,你可以使用命令行工具“sc.exe”(Service Control Manager)来创建、删除、查询或修改服务。例如,要创建一个新服务,可以使用以下命令: ```shell sc create <服务名> binPath= "<路径\到\可执行...
2. **添加服务头文件和服务源文件**:在项目中,右键单击“源文件”或“头文件”目录,选择“添加”>“新建项”,添加名为`serviceTest.cpp`和`serviceTest.h`的文件,这些将包含服务的主要逻辑。 3. **编写服务...
本项目聚焦于使用C#编程语言创建一个Windows服务,该服务的主要功能是每天定时删除指定目录中的过期文件。下面将详细讲解这个知识点。 首先,我们需要了解C#中创建Windows服务的基本步骤。这通常涉及到以下几个关键...
1. 手动创建:使用sc命令行工具或服务控制台(services.msc),但需要对系统编程有一定了解,操作复杂。 2. 使用工具:像"服务管理工具.exe"这样的程序,简化了服务的添加过程。用户只需提供exe程序路径,工具会处理...
Windows 手动删除服务列表中残留服务的方法 Windows 操作系统中,服务列表中可能会残留一些无用或损坏的服务,这些服务可能会占用系统资源,影响...在删除服务时,需要注意权限问题和服务依赖问题,以避免出现问题。
本文将深入探讨如何使用BAT脚本来检测和安装Windows服务程序,以及涉及的相关知识点。 首先,我们需要理解什么是Windows服务。Windows服务是Windows操作系统中一种特殊的后台程序,它们在用户无须登录的情况下运行...
VC++2013创建Windows服务的完整代码: 网络上很多VC创建Windows服务的代码都是基于VC6进行的,已经太过老旧,没有太大的参考价值。 本资源是基于VC2013创建的Windows服务的完整示例,具有较高的参考价值。 [VC2013]...
2. **使用SC命令行工具**: Windows提供了`sc`命令行工具来创建、控制和删除服务。例如,创建一个名为"MyService"的新服务,你可以使用以下命令: ``` sc create MyService binPath= "C:\path\to\your\service.exe...
要将Redis注册为系统服务,我们需要使用`sc`命令,这是一个系统控制命令,可以创建、修改和删除服务。在批处理文件中,这通常会写成: ```batch @echo off net stop "Redis Server" 2>nul sc delete "Redis Server...
【删除Windows服务的原因】 有时,恶意软件或不受欢迎的程序会将自身注册为Windows服务,以实现开机自启动和后台运行,这可能导致系统性能下降或安全问题。因此,了解如何删除这些非系统必要的服务是必要的。 ...
7. **控制服务**:可以使用`sc`命令行工具或`ServiceController`类来启动、停止或查询服务状态。 在实际应用中,还需要考虑到异常处理、日志记录等最佳实践,以确保服务的稳定性和可追溯性。例如,当删除文件时遇到...
使用`sc create`命令来创建一个名为`MySVNServer`的新服务,该服务将使用Subversion的`svnserve`作为后台进程,并设置其依赖关系和启动类型。 ```batch sccreate MySVNServer binpath="\"D:\Program Files\...
本篇文章将详细探讨如何创建、打开、关闭以及删除Windows服务,并提供相关的程序实例。 一、创建Windows服务 创建Windows服务通常涉及以下步骤: 1. 编写服务程序:首先,我们需要编写一个.NET Framework或C++应用...
创建Windows服务通常需要使用特定的API函数,对于C++开发者来说,这意味着利用Windows SDK中的函数和结构体。本示例将探讨如何使用C++来创建Windows系统服务。 首先,我们需要了解几个关键的Windows API函数: 1. ...
在Windows服务的安装和卸载场景中,你可以创建两个批处理文件,一个用于安装服务,另一个用于卸载服务。 例如,安装服务的批处理文件(install_service.bat): ```cmd @echo off sc create MyService binPath= "C:...