通过批处理或 cmd 文件停止和启动服务? [英] Stop and Start a service via batch or cmd file?

查看:22
本文介绍了通过批处理或 cmd 文件停止和启动服务?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何编写 bat 或 cmd 脚本以通过错误检查可靠地停止和启动服务(或者让我知道它由于某种原因没有成功)?

解决方案

使用 SC(服务控制)命令,它为您提供了比 start 更多的选项&停止.

<前>描述:SC 是一个命令行程序,用于与NT 服务控制器和服务.用法:sc <服务器>[命令] [服务名称] ...选项<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 <服务器><命令><选项>boot------------(ok | bad) 表示上次启动是否应该保存为最后一次正确的引导配置Lock------------锁定服务数据库QueryLock-------查询SCManager数据库的LockStatus例子:sc 启动我的服务

How can I script a bat or cmd to stop and start a service reliably with error checking (or let me know that it wasn't successful for whatever reason)?

解决方案

Use the SC (service control) command, it gives you a lot more options than just start & stop.

  DESCRIPTION:
          SC is a command line program used for communicating with the
          NT Service Controller and services.
  USAGE:
      sc <server> [command] [service name]  ...

      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 (persistant).
        description-----Changes the description of a service.
        failure---------Changes the actions taken by a service upon failure.
        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.
        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.
        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

这篇关于通过批处理或 cmd 文件停止和启动服务?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆