文档章节

sc与net命令管理win服务的启停

YuanyuanL
 YuanyuanL
发布于 2015/11/02 15:40
字数 2256
阅读 1871
收藏 2

使用cmd命令手动、自动启动和禁用服务
小技巧使用命令行启动服务

在cmd下可有两种方法打开,net和sc,net用于打开没有被禁用的服务,语法是:
net start 服务名                       启动 net start 服务名
                                              停止 net stop 服务名
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文件,与保存好的批处理文件放在一起,然后执行批处理文件即可。  

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

使用案例:

在命令行下启动自动更新服务:

C:\>sc config wuauserv start= auto
[SC] ChangeServiceConfig SUCCESS

C:\>sc start wuauserv

SERVICE_NAME: wuauserv
         TYPE                : 20 WIN32_SHARE_PROCESS
         STATE               : 2 START_PENDING
                                 (NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
         WIN32_EXIT_CODE     : 0 (0x0)
         SERVICE_EXIT_CODE : 0 (0x0)
         CHECKPOINT          : 0x0
         WAIT_HINT           : 0x7d0
         PID                 : 1156
         FLAGS               :

C:\>

CMD-SC命令详解 2009-10-27 15:18 :\>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---------更改服务失败时所进行的操作。
            qc--------------查询服务的配置信息。
            qdescription----查询服务的描述。
            qfailure--------查询失败服务所进行的操作。
            delete----------(从注册表)删除服务。
            create----------创建服务(将其添加到注册表)。
            control---------发送控制到服务。
            sdshow----------显示服务的安全描述符。
            sdset-----------设置服务的安全描述符。
            GetDisplayName--获取服务的 DisplayName。
            GetKeyName------获取服务的 ServiceKeyName。
            EnumDepend------枚举服务的依存关系。

          下列命令不查询服务名称:
          sc <server> <command> <option>
            boot------------(ok | bad) 表明是否将上一次启动保存为
                            最后所知的好的启动配置
            Lock------------锁定服务数据库
            QueryLock-------查询 SCManager 数据库的 LockStatus
示例:
          sc start MyService
sc config     TrkWks start= DISABLED
sc config     upnphost start= DISABLED
sc config     UPS start= DISABLED
sc config     usprserv start= DISABLED
sc config     VSS start= DISABLED
sc config     W32Time start= DISABLED
sc config     WebClient start= DISABLED
sc config     winmgmt start= DISABLED
sc config     WMConnectCDS start= DISABLED
sc config     WmdmPmSN start= DISABLED
sc config     Wmi start= DISABLED
sc config     WmiApSrv start= DISABLED
sc config     WMPNetworkSvc start= DISABLED
sc config     wscsvc start= DISABLED
sc config     wuauserv start= DISABLED
sc config     WudfSvc start= DISABLED
sc config     WZCSVC start= DISABLED
sc config     xmlprov start= DISABLED



:XP2
echo.
echo    正在备份您的服务,以免优化过出问题了可以及时恢复
echo    备份会生成一个以当前时间命名的BAT(批处理)文件
echo    恢复时只要双击即可,正在备份,请稍等......
@echo  off
rem    get current date and time
for /f "tokens=1, 2, 3, 4 delims=-/. " %%j in ('Date /T') do set FILENAME=srv_%%j_%%k_%%l_%%m
for /f "tokens=1, 2 delims=: " %%j in ('TIME /T') do set FILENAME=%FILENAME%_%%j_%%k.bat

rem get all service name
sc query type= service state= all| findstr /r /C:"SERVICE_NAME:" >tmpsrv.txt
echo Save Service Start State In %FILENAME%
rem save service start state into batch file
rem

echo @echo  Restore The Service Start State Saved At %TIME% %DATE% >"%FILENAME%"
echo @pause >>"%FILENAME%"

for /f "tokens=2 delims=:" %%j in (tmpsrv.txt) do @( sc qc %%j |findstr    START_TYPE >tmpstype.txt &&    for /f "tokens=4 delims=:_ " %%s in ( tmpstype.txt) do @echo  sc config    %%j start= %%s >>"%FILENAME%")
echo @pause >>"%FILENAME%"
del tmpsrv.txt
del tmpstype.txt
echo    备份完成,启动优化服务程序,请稍等....
sc config     Alerter start= DISABLED
sc config     ALG start= DISABLED
sc config     AppMgmt start= DISABLED
sc config     aspnet_state start= DISABLED
sc config     AudioSrv start= AUTO
sc config     BITS start= DISABLED
sc config     Browser start= DISABLED
sc config     CiSvc start= DISABLED
sc config     ClipSrv start= DISABLED
sc config     COMSysApp start= DISABLED
sc config     CryptSvc start= DEMAND
sc config     DcomLaunch start= AUTO
sc config     DF5Serv start= AUTO
sc config     Dhcp start= DISABLED
sc config     dmadmin start= DEMAND
sc config     dmserver start= DEMAND
sc config     Dnscache start= DISABLED
sc config     ERSvc start= DISABLED
sc config     Eventlog start= AUTO
sc config     EventSystem start= DISABLED
sc config     FastUserSwitchingCompatibility start= DISABLED
sc config     helpsvc start= DISABLED
sc config     HidServ start= DISABLED
sc config     HTTPFilter start= DISABLED
sc config     IDriverT start= DEMAND
sc config     ImapiService start= DISABLED
sc config     lanmanserver start= DISABLED
sc config     lanmanworkstation start= AUTO
sc config     LmHosts start= DISABLED
sc config     Messenger start= DISABLED
sc config     mnmsrvc start= DISABLED
sc config     MSDTC start= DISABLED
sc config     MSIServer start= DEMAND
sc config     NetDDE start= DISABLED
sc config     NetDDEdsdm start= DISABLED
sc config     Netlogon start= DISABLED

sc config     Netman start= DEMAND
sc config     Nla start= DISABLED
sc config     NtLmSsp start= DISABLED
sc config     NtmsSvc start= DISABLED
sc config     NVSvc start= DISABLED
sc config     ose start= DISABLED
sc config     PlugPlay start= AUTO
sc config     PolicyAgent start= DISABLED
sc config     ProtectedStorage start= DISABLED
sc config     RasAuto start= DISABLED
sc config     RasMan start= DISABLED
sc config     RDSessMgr start= DISABLED
sc config     RemoteAccess start= DISABLED
sc config     RemoteRegistry start= DISABLED
sc config     RpcLocator start= DEMAND
sc config     RpcSs start= AUTO
sc config     RSVP start= DISABLED
sc config     SamSs start= DISABLED
sc config     SCardSvr start= DISABLED
sc config     Schedule start= DISABLED
sc config     seclogon start= DISABLED
sc config     SENS start= DISABLED
sc config     SharedAccess start= DISABLED
sc config     ShellHWDetection start= DISABLED
sc config     Spooler start= DISABLED
sc config     srservice start= DISABLED
sc config     SSDPSRV start= DISABLED
sc config     stisvc start= DISABLED
sc config     SwPrv start= DISABLED
sc config     SysmonLog start= DISABLED
sc config     TapiSrv start= DISABLED
sc config     TermService start= DISABLED
sc config     Themes start= DISABLED
sc config     TlntSvr start= DISABLED
sc config     TrkWks start= DISABLED
sc config     Telephony start= AUTO
sc config     upnphost start= DISABLED
sc config     UPS start= DISABLED
sc config     usprserv start= DISABLED
sc config     VSS start= DISABLED
sc config     W32Time start= DISABLED
sc config     WebClient start= DISABLED
sc config     winmgmt start= DISABLED
sc config     WMConnectCDS start= DISABLED
sc config     WmdmPmSN start= DISABLED
sc config     Wmi start= DISABLED
sc config     WmiApSrv start= DISABLED
sc config     WMPNetworkSvc start= DISABLED
sc config     wscsvc start= DISABLED
sc config     wuauserv start= DISABLED
sc config     WudfSvc start= DISABLED
sc config     WZCSVC start= DISABLED
sc config     xmlprov start= DISABLED


本文转载自:http://www.cnblogs.com/jankie/archive/2011/08/03/2126249.html

YuanyuanL

YuanyuanL

粉丝 154
博文 330
码字总数 194577
作品 0
济南
高级程序员
私信 提问
Tomcat的安装、配置常见问题

(1)服务里面没有Tomcat怎么办? ——运行:cmd=>再到Tomcat 8.0/bin目录下运行: service install 即可; ——然后用: net start Tomcat8 命令将服务启起来。 (2)fail to install Tomcat8...

野渡书生
2016/03/21
75
0
SaaS设计:自动化服务启停设计示例

业内部时常有服务启停的需求,有时是因为在进行故障排除时需要对某些服务进行启停;有时是因为这些服务在线时间长了容易发生异常,需要定期进行启停;有时是因为需要进行更新包的投产发布,需...

嘉为科技
08/30
71
0
Win 10 无法打开内核设备“\\.\Global\vmx86”

Win 10操作系统, VMWareWorkstation10 无法打开内核设备“.Globalvmx86”: 系统找不到指定的文件。你想要在安装 VMware Workstation 前重启吗? 打开vmware10中的Linux虚拟机时就报这个错误,...

Hi_Yolks
2018/07/15
46
0
windows下redis的配置和使用

windows安装(本机安装在D盘) 1、下载,64位,下载地址:https://github.com/dmajkic/redis/downloads 2、解压文件:Redis和redisclient直接解压到D盘(这里以D盘为例,解压后文件分别为:...

大猩猩secrets
2016/10/31
30
0
创建Windows服务

背景: 很多时候我们写了一些bat文件,都希望能开机自动化启动。 例如我们把Selenium Grid搭建在Win机器上,希望我们机器启动后我们的Selenium Grid相关的服务就能自动启起来。也许你会把Gri...

米阳MeYoung
2017/09/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

VMware vSphere ESXi主机的访问控制

在vShpere中,访问ESXi主机的途径很多,如下: ESXi DCUI ESXi Shell ESXi SSH ESXi Host Client vCenter --> vSphere web client / vSphere Client VMware vSphere ESXi主机的访问控制,除了......

大别阿郎
31分钟前
4
0
大神讲解CGI、FastCGI和PHP-FPM关系图解

参考资料 概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM:http://www.nowamagic.net/librarys/veda/detail/1319 php中fastcgi和php-fpm是什么东西:https://www.zybuluo.com/phper/note/50231 ......

网络小虾米
40分钟前
4
0
《DNS攻击防范科普系列3》 -如何保障 DNS 操作安全

引言 前两讲我们介绍了 DNS 相关的攻击类型,以及针对 DDoS 攻击的防范措施。这些都是更底层的知识,有同学就来问能否讲讲和我们的日常操作相关的知识点,今天我们就来说说和我们日常 DNS 操...

Mr_zebra
41分钟前
4
0
zk中ServerCnxn

实现接口Stats, Watcher 内部类 DisconnectReason CloseRequestException EndOfStreamException(流关闭) 属性 方法 getSessionTimeout 获取session失效时间 sendResponse 发送回复数据 se......

writeademo
45分钟前
4
0
如何将 Redis 用于微服务通信的事件存储

来源:Redislabs 作者:Martin Forstner 翻译:Kevin (公众号:中间件小哥) 以我的经验,将某些应用拆分成更小的、松耦合的、可协同工作的独立逻辑业务服务会更易于构建和维护。这些服务(也...

中间件小哥
49分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部