`

在windows下编写启动服务的脚本

 
阅读更多

      由于最近系统装了很多的服务,而一些服务只有在特定的时候才会使用到,所以就想到写一个脚本来手动启动服务,而不用在开机的时候自动启动。

 

 

使用命令行启动服务

在cmd下可有两种方法打开,net和sc,net用于打开没有被禁用的服务,语法是:
net start 服务名
net stop 服务名

用sc可打开被禁用的服务,语法是:
sc config 服务名 start= demand     //手动
sc condig 服务名 start= auto       //自动
sc config 服务名 start= disabled //禁用
sc start 服务名
sc stop   服务名

注:1)服务名不一定是你在服务面板看到的那个名,例如,你要打开被禁用的telnet服务,sc config telnet start= auto,报错:[SC] OpenService FAILED 1060,因为telnet的服务名不是telnet而是tlntsvr, sc config tlntsvr start= auto     就OK了,在服务面板里查看telnet属性,从可执行文件的路径里可看到服务程序名,即命令中的服务名。   2)start=后面有空格,少了就有错

sc.exe命令功能列表:  注:以下命令中。=号后面都有一个空格,=号前面没有空格!


  1.更改服务的启动状态(这是比较有用的一个功能)   

  2.删除服务(除非对自己电脑的软、硬件所需的服务比较清楚,否则不建议删除任何系统服务,特别是基础服务)  

  3.停止或启动服务(功能上类似于net stop/start,但速度更快且能停止的服务更多)

  具体的命令格式如下:  

  修改服务启动类型的命令行格式为(特别注意start=后面有一个空格)  

  sc config 服务名称 start= demand(设置服务为手动启动)   

  sc config 服务名称 start= disabled(设置服务为禁用)   

  停止/启动服务的命令行格式为   

  sc stop/start 服务名称   

  注意:平时常接触的都是服务的显示名称,而以上所指是服务名称,都可以在控制面板->管理工具->服务里面,双击对应的服务来查询。  

  先举例说明一下具体的设置方法:   

  如设置远程注册表服务为手动其格式为   

  sc config RemoteRegistry start= demand   

  设为禁用的格式为:

  sc config RemoteRegistry start= disabled   

  停止服务则格式为:   

  sc stop RemoteRegistry   

  首先把自己所需设置的服务名称查到之后,按照上面的格式做成批处理文件,重装系统之后只要运行批处理文件即可。  

  以下是我的设置,以XpSp2为蓝本,可比对所用的系统进行增删和修改。注:未加入XpSp2的自动更新、安全中心、防火墙。 

  sc config Alerter start= demand   

  sc config TrkWks start= demand   

  sc config helpsvc start= demand   

  sc config policyAgent start= demand   

  sc config dmserver start= demand   

  sc config WmdmpmSn start= demand   

  sc config Spooler start= demand   

  sc config RemoteRegistry start= demand   

  sc config NtmsSvc start= demand   

  sc config seclogon start= demand   

  sc config Schedule start= demand   

  sc config WebClient start= demand   

  sc config W32Time start= demand   

  sc config WZCSVC start= demand

  sc config ERSvc start= demand   

  sc config Themes start= demand   

  sc config FastUserSwitchingCompatibility start= disabled   

  sc config Messenger start= disabled   

  sc config protectedStorage start= disabled

  sc config SSDpSRV start= disabled   

  sc config TermService start= disabled   

  sc config ShellHWDetection start= disabled   

  如果需要立即关闭服务也可把以下代码跟在上面的代码之后

  sc stop W32Time   

  sc stop ShellHWDetection   

  sc stop TrkWks

  sc stop helpsvc

  sc stop dmserver

  sc stop policyAgent   

  sc stop Spooler   

  sc stop RemoteRegistry   

  sc stop seclogon   

  sc stop Schedule   

  sc stop WZCSVC

  sc stop ERSvc   

  sc stop Themes   

  sc stop FastUserSwitchingCompatibility   

  sc stop protectedStorage   

  sc stop SSDpSRV   

  sc stop WebClient   

  最后把修改好之后的代码存为services.cmd,在以后进行服务设置时,直接运行事先保存好的批处理文件就可以做到事半功倍了。  

  看到这里,使用Win2000的朋友也不必失望,sc.exe这个命令行工具对Win2000同样适用,可从装有WinXp或者Win2003的机器里面拷贝sc.exe文件,与保存好的批处理文件放在一起,然后执行批处理文件即可。  

  对注册表比较熟悉的朋友可能会想到用注册表来设置服务的启动类型,这也是一种可行的方法,本身却有着内在不足。原因是服务启动类型在注册表中对应的键值较长且分散,进行整理不方便直观且易错漏,所以这种方法比较适用于无人值守的安装时使用。


原文地址:http://hi.baidu.com/ppl309/blog/item/41dd73c85fea9f107f3e6fe8.html

 

 

附:

 

在命令行中输入下面的命令即可启动相应服务:

----------------------------------

    net start 服务名

----------------------------------

    输入下面的命令,可以得到更多的帮助:

----------------------------------

    net help

----------------------------------

    与net命令相关的另一个命令就是sc命令,在命令行中输入:

----------------------------------

    sc help

----------------------------------

    就可以看到下面关于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-----------更改服务的所需权限。

          qc--------------查询服务的配置信息。

          qdescription----查询服务的描述。

          qfailure--------查询失败时服务执行的操作。

          qfailureflag----查询服务的失败操作标志。

          qsidtype--------查询服务的服务 SID 类型。

          qprivs----------查询服务的所需权限。

          delete----------(从注册表)删除服务。

          create----------创建服务(将其添加到注册表)。

          control---------向服务发送控制。

          sdshow----------显示服务的安全描述符。

          sdset-----------设置服务的安全描述符。

          showsid---------显示相应于假定名称的 SID 字符串。

          GetDisplayName--获取服务的 DisplayName。

          GetKeyName------获取服务的 ServiceKeyName。

          EnumDepend------枚举服务的依存关系。

示例:

        sc start MyService

----------------------------------

    实际上sc所完成的功能就是“控制面板.管理工具”中看到的“服务”完成的功能。

在命令行中输入下面的命令,可以看到详细语法:

----------------------------------

sc config hlep

----------------------------------

sc config 服务名 start= AUTO    (自动)

sc config 服务名 start= DEMAND  (手动)

sc config 服务名 start= DISABLED(禁用)

    注意:等号后面必须有一个空格。

 

原文:http://blog.sina.com.cn/s/blog_674b68260100mvhz.html

 

分享到:
评论

相关推荐

    Springboot-服务-Windows 一键启动、停止脚本

    总的来说,Spring Boot在Windows环境下的服务管理可以通过创建批处理脚本来实现一键启动和停止,极大地提高了运维效率。了解和掌握这种技巧,对于任何使用Spring Boot开发后台服务的开发者来说都是必不可少的技能。

    Windows 延时启动批处理脚本

    在Windows操作系统中,批处理脚本是一种非常实用的工具,它允许用户通过编写简单的命令行指令集合来自动化一系列任务。本篇文章将详细讲解如何创建一个延时启动批处理脚本,以及如何使用这个名为"Delay Run App.cmd...

    SpringBoot windows启动脚本

    SpringBoot windows启动脚本

    java的windows启动脚本

    java的windows启动脚本

    redis集群windows启动脚本

    在Windows环境下,设置和管理Redis集群可能相对复杂,但通过编写启动脚本可以实现一键启动,简化操作流程。以下将详细介绍如何创建并使用“redis集群windows启动脚本”。 1. **Redis集群概念** Redis集群是Redis...

    windows 系统下启动与结束java的jar包的脚本(包括如何设置进程名称)

    #### 一、编写启动脚本 为了方便地启动Java应用程序(通常是以`.jar`文件的形式存在),我们可以创建一个批处理文件(`.bat`文件)。这个文件会调用Java运行时环境(JRE或JDK)来执行指定的`.jar`文件。此外,我们...

    windows服务检测并自动启动

    "Windows服务检测并自动启动"的批处理脚本是解决在系统启动或运行过程中,确保关键服务正常运行的一种方法。批处理是基于DOS命令行环境的自动化工具,通过编写一系列命令,可以实现对系统的批量操作。 批处理脚本的...

    windows下tomcat自动启动vbs脚本

    在Windows操作系统中,为了实现Apache Tomcat服务器的自动启动,我们可以编写VBScript(Visual Basic Script)脚本。VBScript是一种轻量级的脚本语言,常用于Windows系统的批处理任务,如定时启动服务、程序等。下面...

    rocketmq设置开机启动脚本

    rocketmq设置开机启动脚本

    springboot项目启动bat脚本

    7. **自动启动**: 脚本可以配置为系统启动时自动运行,例如通过将`startup.bat`添加到Windows的任务计划程序,实现服务的自启动功能,确保应用在系统开机时即开始提供服务。 8. **使用bat脚本的优势**: 它提供了...

    consul的启动脚本

    consul的启动脚本,用于和kong网关进行结合使用,用来分流

    windows 脚本服务工具

    在Windows操作系统中,脚本服务工具是一个非常实用的功能,它允许用户通过脚本来控制和管理系统服务。这里的"windows 脚本服务工具"显然就是一套用于创建和管理基于脚本的服务的工具集。主要涉及两个核心组件:Cmd...

    jar包启动脚本与关闭脚本win+linux

    但在生产环境中,为了管理和自动化,我们会编写启动脚本。例如,`KeyIntl-Startup.bat`是一个Windows批处理脚本,它可能包含以下内容: ```batch @echo off set JAR_FILE=your-spring-boot-app.jar set JAVA_OPTS=-...

    java程序产品包模板-内置linux和Windows通用shell启动停止脚本(无需系统安装Java运行环境).zip

    该压缩包文件“java程序产品包模板-内置linux和Windows通用shell启动停止脚本(无需系统安装Java运行环境).zip”提供了一套适用于Java程序的通用打包方案,特别强调了其能够在Linux和Windows操作系统上无缝运行,且不...

    mysql快速启动关闭脚本

    标题中的“mysql快速启动关闭脚本”指的是利用Windows批处理(.cmd)文件来自动化启动和关闭MySQL数据库服务的过程。在Windows环境中,MySQL服务通常以服务的形式运行,可以通过服务管理器或者命令行工具进行控制。...

    windows下目录拷贝脚本

    在Windows操作系统中,批处理(BAT)脚本是一种非常实用的工具,用于自动化日常的文件管理和操作。在本文中,我们将深入探讨如何编写一个BAT脚本...熟练掌握BAT脚本的编写,可以大大提高你在Windows环境下的工作效率。

    通过脚本开机启动exe程序教程(window10).pdf

    在Windows 10操作系统中,实现exe程序随系统开机自动启动可以通过多种方式完成。本教程将介绍如何通过编写批处理脚本并利用本地组策略编辑器来实现开机启动exe程序的配置。这种方法适用于通过使用sc create命令创建...

    C#编写Windows服务程序

    在服务类中,需要继承ServiceBase类,并override OnStart和OnStop方法,以便在服务启动和停止时执行特定的操作。 5. 创建安装脚本 创建安装脚本和卸载脚本,以便安装和卸载服务。 6. 服务控制 使用C#代码来控制...

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

    在Windows操作系统中,为了方便管理和操作Redis,我们可以创建批处理脚本来实现Redis服务的注册、启动和关闭。批处理文件(BAT)是一种文本文件,包含了DOS或Windows命令行接口下的命令序列,可以一次性执行多个命令...

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

    Windows服务是Windows操作系统中一种特殊的后台程序,它们在用户无须登录的情况下运行,提供持续的系统功能或支持其他应用程序。安装Windows服务通常涉及到注册服务、设置服务启动类型、指定服务执行文件等步骤。 ...

Global site tag (gtag.js) - Google Analytics