zoukankan      html  css  js  c++  java
  • 批处理脚本命令行方式关闭Windows服务

    对于一些不常用的Windows Services,可以通过设置其启动类型为"禁用"而将其关闭。这种关闭方式是长期性的,电脑重启之后仍然起作用。

    有时候希望在批处理脚本里通过命令行方式关闭/重启某个服务,则用到下面的方法:

    关闭:sc stop service_name

    开启:sc start service_name

    sc.exe是系统命令,在Win7系统里存在于系统目录C:WindowsSystem32或者C:WindowsSysWOW64中。其语法如下:

    DESCRIPTION:
            SC is a command line program used for communicating with the Service Control Manager and services.
    USAGE:
            sc <server> [command] [service name] <option1> <option2>...
    
    
            The option <server> has the form "\ServerName"
            Further help on commands can be obtained by typing: "sc [command]"
            Commands:
              query-----------Queries the status for a service, or enumerates the status for types of services.
              queryex---------Queries the extended status for a service, or enumerates the status for types of services.
              start-----------Starts a service.
              pause-----------Sends a PAUSE control request to a service.
              interrogate-----Sends an INTERROGATE control request to a service.
              continue--------Sends a CONTINUE control request to a service.
              stop------------Sends a STOP request to a service.
              config----------Changes the configuration of a service (persistent).
              description-----Changes the description of a service.
              failure---------Changes the actions taken by a service upon failure.
              failureflag-----Changes the failure actions flag of a service.
              sidtype---------Changes the service SID type of a service.
              privs-----------Changes the required privileges of a service.
              qc--------------Queries the configuration information for a service.
              qdescription----Queries the description for a service.
              qfailure--------Queries the actions taken by a service upon failure.
              qfailureflag----Queries the failure actions flag of a service.
              qsidtype--------Queries the service SID type of a service.
              qprivs----------Queries the required privileges of a service.
              qtriggerinfo----Queries the trigger parameters of a service.
              qpreferrednode--Queries the preferred NUMA node of a service.
              delete----------Deletes a service (from the registry).
              create----------Creates a service. (adds it to the registry).
              control---------Sends a control to a service.
              sdshow----------Displays a service's security descriptor.
              sdset-----------Sets a service's security descriptor.
              showsid---------Displays the service SID string corresponding to an arbitrary name.
              triggerinfo-----Configures the trigger parameters of a service.
              preferrednode---Sets the preferred NUMA node of a service.
              GetDisplayName--Gets the DisplayName for a service.
              GetKeyName------Gets the ServiceKeyName for a service.
              EnumDepend------Enumerates Service Dependencies.
    
            The following commands don't require a service name:
            sc <server> <command> <option>
              boot------------(ok | bad) Indicates whether the last boot should be saved as the last-known-good boot configuration
              Lock------------Locks the Service Database
              QueryLock-------Queries the LockStatus for the SCManager Database
    EXAMPLE:
            sc start MyService
    
    
    QUERY and QUERYEX OPTIONS:
            If the query command is followed by a service name, the status for that service is returned.  Further options do not apply in this case.  If the query command is followed by nothing or one of the options listed below, the services are enumerated.
        type=    Type of services to enumerate (driver, service, all)
                 (default = service)
        state=   State of services to enumerate (inactive, all)
                 (default = active)
        bufsize= The size (in bytes) of the enumeration buffer
                 (default = 4096)
        ri=      The resume index number at which to begin the enumeration
                 (default = 0)
        group=   Service group to enumerate
                 (default = all groups)
    
    SYNTAX EXAMPLES
    sc query                - Enumerates status for active services & drivers
    sc query eventlog       - Displays status for the eventlog service
    sc queryex eventlog     - Displays extended status for the eventlog service
    sc query type= driver   - Enumerates only active drivers
    sc query type= service  - Enumerates only Win32 services
    sc query state= all     - Enumerates all services & drivers
    sc query bufsize= 50    - Enumerates with a 50 byte buffer
    sc query ri= 14         - Enumerates with resume index = 14
    sc queryex group= ""    - Enumerates active services not in a group
    sc query type= interact - Enumerates all interactive services
    sc query type= driver group= NDIS     - Enumerates all NDIS drivers

    Common tasks

    Notes:

    (1) service should always be the service's short name, not the display name.

         Doubleclick a service in the Services Control Panel applet (or services.msc) to find its short name, or use SC \computer Query to list all services with their short name.

    (2) The spaces following equal signs are mandatory; if a space is removed the command will fail.

    Start a service

    SC \computer Start service_name

    Stop a service

    SC \computer Stop service_name

    Restart a service

    SC \computer Stop service_name
    SC \computer Start service_name

    Make a service start automatically

    SC \computer Config service_name start= auto

    Disable a service

    SC \computer Config service_name start= disabled

    Change a service's display name

    SC \computer Config service_name DisplayName= "New display name"

    Change a service's description

    SC \computer Description service_name "This is the service's new description"

    Change a service's recovery settings

    SC \computer Failure service_name actions= restart/60000/restart/60000// reset= 120

    This command will make a service restart after 1 minute (60000 milliseconds) on the first 2 failures, and take no action at further failures (to prevent infinite failing restarts, which might consume 100% CPU capacity); the failures counter will be reset after 2 minutes (120 seconds).

    Ignore a service's failure to start at boot time

    SC \computer Config service_name error= ignore
  • 相关阅读:
    Blender 3DOne
    [翻译]XNA外文博客文章精选之sixteen(中)
    实习技术员的基本功(二)
    [翻译]XNA外文博客文章精选之fifteen
    实习技术员的基本功(三)
    [翻译]XNA外文博客文章精选之sixteen(下)
    实习技术员的基本功(一)
    [翻译]XNA外文博客文章精选之sixteen(上)
    思维导图
    MySQL error 1045(28000): Access denied for user ...
  • 原文地址:https://www.cnblogs.com/josephchan/p/dos_sc_stopservice.html
Copyright © 2011-2022 走看看