`
chenzhou123520
  • 浏览: 4259243 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用SC创建和删除windows服务

阅读更多

使用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

分享到:
评论
1 楼 NNBchuang 2012-04-16  
谢谢,问题解决了!

相关推荐

    创建Windows服务程序

    `sc`命令是Windows系统提供的服务控制管理器,可以用来创建、查询、控制和删除服务。以下是一些基本的`sc`命令示例: 1. 创建服务:`sc create ServiceName binPath= "PathToExe" DisplayName= "Service Display ...

    windows 服务创建

    本篇文章将详细探讨如何创建Windows服务以及如何使用`sc create`命令进行操作。 1. **Windows服务的创建** Windows服务通常由系统管理员创建,以便为特定的应用程序或功能提供持久的后台支持。创建服务的过程包括...

    vc创建windows服务

    找了n多据说是创建windows服务的vc代码,发现了n多问题。...删除服务请使用sc delete。 经过一番折腾。形成了一个初步框架,该框架内。通过改写我修改的线程函数。你可以做你想做的任何事情。 相信我,8分绝对不亏。

    windows 服务 安装 进程删除 删除进程

    本文将详细讲解如何安装、管理和删除Windows服务,以及涉及到的进程删除操作。 首先,让我们了解如何安装Windows服务。安装服务通常通过编写特定的安装脚本或者使用工具来完成。在.NET Framework中,可以使用`...

    Windows服务添加删除工具

    在Windows中,你可以使用命令行工具“sc.exe”(Service Control Manager)来创建、删除、查询或修改服务。例如,要创建一个新服务,可以使用以下命令: ```shell sc create <服务名> binPath= "<路径\到\可执行...

    通过VC创建WINDOWS服务程序

    2. **添加服务头文件和服务源文件**:在项目中,右键单击“源文件”或“头文件”目录,选择“添加”>“新建项”,添加名为`serviceTest.cpp`和`serviceTest.h`的文件,这些将包含服务的主要逻辑。 3. **编写服务...

    C# windows服务删除过期文件每天执行一次.

    本项目聚焦于使用C#编程语言创建一个Windows服务,该服务的主要功能是每天定时删除指定目录中的过期文件。下面将详细讲解这个知识点。 首先,我们需要了解C#中创建Windows服务的基本步骤。这通常涉及到以下几个关键...

    windows服务添加删除工具

    1. 手动创建:使用sc命令行工具或服务控制台(services.msc),但需要对系统编程有一定了解,操作复杂。 2. 使用工具:像"服务管理工具.exe"这样的程序,简化了服务的添加过程。用户只需提供exe程序路径,工具会处理...

    Windows手动删除服务列表中残留服务的方法.docx

    Windows 手动删除服务列表中残留服务的方法 Windows 操作系统中,服务列表中可能会残留一些无用或损坏的服务,这些服务可能会占用系统资源,影响...在删除服务时,需要注意权限问题和服务依赖问题,以避免出现问题。

    通过BAT脚本检测并安装WINDOWS服务程序

    本文将深入探讨如何使用BAT脚本来检测和安装Windows服务程序,以及涉及的相关知识点。 首先,我们需要理解什么是Windows服务。Windows服务是Windows操作系统中一种特殊的后台程序,它们在用户无须登录的情况下运行...

    VC++2013创建Windows服务的完整代码

    VC++2013创建Windows服务的完整代码: 网络上很多VC创建Windows服务的代码都是基于VC6进行的,已经太过老旧,没有太大的参考价值。 本资源是基于VC2013创建的Windows服务的完整示例,具有较高的参考价值。 [VC2013]...

    注册windows服务和操作windows注册表

    2. **使用SC命令行工具**: Windows提供了`sc`命令行工具来创建、控制和删除服务。例如,创建一个名为"MyService"的新服务,你可以使用以下命令: ``` sc create MyService binPath= "C:\path\to\your\service.exe...

    Windows下 redis 注册服务 启动 关闭 批处理 bat

    要将Redis注册为系统服务,我们需要使用`sc`命令,这是一个系统控制命令,可以创建、修改和删除服务。在批处理文件中,这通常会写成: ```batch @echo off net stop "Redis Server" 2>nul sc delete "Redis Server...

    win7 删除Windows服务的方法.docx

    【删除Windows服务的原因】 有时,恶意软件或不受欢迎的程序会将自身注册为Windows服务,以实现开机自启动和后台运行,这可能导致系统性能下降或安全问题。因此,了解如何删除这些非系统必要的服务是必要的。 ...

    windows服务小示例,每天定时删除文件夹里面7天前的文件,清理垃圾

    7. **控制服务**:可以使用`sc`命令行工具或`ServiceController`类来启动、停止或查询服务状态。 在实际应用中,还需要考虑到异常处理、日志记录等最佳实践,以确保服务的稳定性和可追溯性。例如,当删除文件时遇到...

    svn创建自动启动的Windows服务

    使用`sc create`命令来创建一个名为`MySVNServer`的新服务,该服务将使用Subversion的`svnserve`作为后台进程,并设置其依赖关系和启动类型。 ```batch sccreate MySVNServer binpath="\"D:\Program Files\...

    Windows服务的程序实例

    本篇文章将详细探讨如何创建、打开、关闭以及删除Windows服务,并提供相关的程序实例。 一、创建Windows服务 创建Windows服务通常涉及以下步骤: 1. 编写服务程序:首先,我们需要编写一个.NET Framework或C++应用...

    创建Windows系统服务demo2(c++版)

    创建Windows服务通常需要使用特定的API函数,对于C++开发者来说,这意味着利用Windows SDK中的函数和结构体。本示例将探讨如何使用C++来创建Windows系统服务。 首先,我们需要了解几个关键的Windows API函数: 1. ...

    windows服务安装和卸载

    在Windows服务的安装和卸载场景中,你可以创建两个批处理文件,一个用于安装服务,另一个用于卸载服务。 例如,安装服务的批处理文件(install_service.bat): ```cmd @echo off sc create MyService binPath= "C:...

Global site tag (gtag.js) - Google Analytics