从命令行重新启动 Windows 服务

Joe*_*Joe 107 windows windows-7 command-line

有没有办法从命令提示符重新启动 Windows 服务?

par*_*d0x 115

您可以使用net stop [service name]停止它并net start [service name]重新启动它,基本上是重新启动服务。

要将它们组合起来,只需这样做 - net stop [service name] && net start [service name]


还有一个专门用于处理服务的命令: sc

描述:
        SC 是一个命令行程序,用于与
        服务控制管理器和服务。
用法:
        sc [命令] [服务名称] ...


        该选项的格式为“\\ServerName”
        可以通过键入以下内容获得有关命令的更多帮助:“sc [command]”
        命令:
          query-----------查询服务的状态,或
                          枚举服务类型的状态。
          queryex---------查询服务的扩展状态,或
                          枚举服务类型的状态。
          start-----------启动一个服务。
          pause-----------向服务发送 PAUSE 控制请求。
          interrogate-----向服务发送 INTERROGATE 控制请求。
          continue--------向服务发送 CONTINUE 控制请求。
          stop------------向服务发送 STOP 请求。
          config-----------更改服务的配置(持久性)。
          description----更改服务的描述。
          failure---------更改服务在失败时采取的操作。
          failureflag-----更改服务的失败操作标志。
          sidtype---------更改服务的服务SID 类型。
          privs-----------更改服务所需的权限。
          managedaccount--更改服务以标记服务帐户
                          由 LSA 管理的密码。
          qc--------------查询服务的配置信息。
          qdescription----查询服务的描述。
          qfailure--------查询服务失败时的动作。
          qfailureflag----查询服务的失败动作标志。
          qsidtype--------查询服务的服务SID类型。
          qprivs----------查询服务所需的权限。
          qtriggerinfo----查询服务的触发参数。
          qpreferrednode--查询服务的首选NUMA节点。
          qrunlevel------查询服务的运行级别。
          qmanagedaccount - 查询服务是否使用具有
                          密码由 LSA 管理。
          qprotection-----查询服务的进程保护级别。
          delete---------删除服务(从注册表中)。
          create-----------创建服务。(将其添加到注册表中)。
          control---------向服务发送控制。
          sdshow-----------显示服务的安全描述符。
          sdset-----------设置服务的安全描述符。
          showid---------显示与任意名称对应的服务 SID 字符串。
          triggerinfo-----配置服务的触发参数。
          优选节点---设置服务的首选 NUMA 节点。
          runlevel--------设置服务的运行级别。
          GetDisplayName——获取服务的 DisplayName。
          GetKeyName------获取服务的ServiceKeyName。
          EnumDepend------枚举服务依赖。

        以下命令不需要服务名称:
        sc   
          boot------------(ok | bad) 表示上次启动是否应该
                          保存为最后一次正确的引导配置
          Lock------------锁定服务数据库
          QueryLock-------查询SCManager数据库的LockStatus
例子:
        sc 启动我的服务

QUERY 和 QUERYEX 选项:
        如果查询命令后跟服务名称,则状态
        为该服务返回。更多选项不适用于
        这个案例。如果查询命令后没有任何内容或其中之一
        下面列出了选项,列举了服务。
    type= 要枚举的服务类型(驱动程序、服务、所有)
             (默认 = 服务)
    state= 要枚举的服务状态(非活动状态,全部)
             (默认 = 活动)
    bufsize= 枚举缓冲区的大小(以字节为单位)
             (默认值 = 4096)
    ri= 开始枚举的简历索引号
             (默认值 = 0)
    group= 要枚举的服务组
             (默认 = 所有组)

语法示例
sc 查询 - 枚举活动服务和驱动程序的状态
sc 查询事件日志 - 显示事件日志服务的状态
sc queryex eventlog - 显示事件日志服务的扩展状态
sc 查询类型=驱动程序 - 仅枚举活动驱动程序
sc 查询类型=服务 - 仅枚举 Win32 服务
sc query state= all - 枚举所有服务和驱动程序
sc 查询 bufsize= 50 - 使用 50 字节缓冲区枚举
sc 查询 ri= 14 - 使用简历索引进行枚举 = 14
sc queryex group="" - 枚举不在组中的活动服务
sc 查询类型=交互 - 枚举所有交互服务
sc 查询类型=驱动程序组= NDIS - 枚举所有 NDIS 驱动程序

  • '重新启动!= '停止' && '开始'。我有一个服务,它通过 GUI 小程序很快重新启动,但通过 GUI 和 CLI 停止启动非常慢。仍在寻找执行 _real_ 重启的 CLI 方式... (8认同)
  • 下一个问题变成了如何查找正确的“[服务名称]”。 (7认同)
  • 输入`net start`,它会列出所有正在运行的服务。 (4认同)
  • @lszi:从命令行运行“sc 查询”。查看 SERVICE_NAME (4认同)
  • @Iszi 好吧,如果他想**重启**一个服务,它必须正在运行才能重新启动。:) (3认同)

Dmi*_*rov 38

请注意,如果有其他依赖此服务的服务 - 通常 net stop & net start不会重新启动它们。net stop /y将停止所有依赖项

最常见的例子 - SQL Server & SQL Agent。

我确实推荐 PowerShell cmdlet 来解决这个问题:

powershell -command "Restart-Service MSSQLSERVER -Force"

MSSQLSERVER 启动后 - cmdlet 启动所有以前停止的依赖项。

PS:确保您以管理员身份运行命令

  • +1。这是最好的答案。停止和启动具有依赖项的服务将因其他答案而失败。您需要添加它才能工作,您需要以管理员身份运行。 (2认同)

小智 11

您还可以使用 PowerShell:

stop-Service
Run Code Online (Sandbox Code Playgroud)

  • PowerShell 还提供 Restart-Service(因为 OP 专门询问了重新启动服务,所以仅提及它) (21认同)

小智 10

要从命令提示符或计划任务重新启动 Windows 服务,请使用以下命令:

cmd /c "net stop "Service Name" & sc start "Service Name""
Run Code Online (Sandbox Code Playgroud)

  • 你可能想要一个双符号。这使得它在继续第二个命令之前等待第一个命令完成(成功)。 (5认同)

小智 5

为了解决烦人的 Wacom Intuous Driver not running Error 我每次重启都会遇到。

Windows key+ R,粘贴,嘭!

sc stop WTabletServicePro && sc start WTabletServicePro
Run Code Online (Sandbox Code Playgroud)