从命令行重新启动Windows服务


Answers:


91

您可以使用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 -----------启动服务。
          暂停-----------将暂停控制请求发送到服务。
          询问-将INTERROGATE控制请求发送到服务。
          继续--------将CONTINUE控制请求发送到服务。
          stop ------------将STOP请求发送到服务。
          config ----------更改服务的配置(持久)。
          description -----更改服务的描述。
          故障---------更改服务在发生故障时采取的措施。
          failureflag -----更改服务的失败操作标志。
          sidtype ---------更改服务的服务SID类型。
          privs -----------更改所需的服务特权。
          托管帐户-更改服务以标记服务帐户
                          由LSA管理的密码。
          qc --------------查询服务的配置信息。
          qdescription ----查询服务的描述。
          qfailure --------查询服务在失败时采取的操作。
          qfailureflag-查询服务的失败操作标志。
          qsidtype --------查询服务的服务SID类型。
          qprivs ----------查询服务所需的特权。
          qtriggerinfo ----查询服务的触发参数。
          qpreferrednode-查询服务的首选NUMA节点。
          qrunlevel -------查询服务的运行级别。
          qmanagedaccount-查询服务是否使用带有
                          LSA管理的密码。
          qprotection -----查询服务的进程保护级别。
          delete ----------删除服务(从注册表中)。
          创建----------创建服务。(将其添加到注册表)。
          control ---------将控件发送到服务。
          sdshow ----------显示服务的安全描述符。
          sdset -----------设置服务的安全描述符。
          showsid ---------显示与任意名称对应的服务SID字符串。
          triggerinfo -----配置服务的触发参数。
          preferrednode ---设置服务的首选NUMA节点。
          运行级别--------设置服务的运行级别。
          GetDisplayName-获取服务的DisplayName。
          GetKeyName ------获取服务的ServiceKeyName。
          EnumDepend ------枚举服务依赖项。

        以下命令不需要服务名称:
        SC   
          boot ------------(确定|错误)指示是否应该最后一次启动
                          保存为最新的良好启动配置
          锁定------------锁定服务数据库
          QueryLock -------查询SCManager数据库的LockStatus
例:
        sc启动MyService

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

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

5
下一个问题成为如何查找适当的内容[service name]
Iszi 2011年

4
输入net start并列出所有正在运行的服务。
paradd0x 2011年

3
@Iszi好吧,如果他想重新启动服务,则必须运行该服务才能重新启动。:)
paradd0x 2011年

4
@lszi:从命令行运行“ sc查询”。看看SERVICE_NAME
jftuga 2011年

8
'restart!='停止'&&'开始'。我有一个可以通过GUI小程序重新启动的服务,但是通过GUI和CLI都非常缓慢地停止启动的服务。仍在寻找执行真正重启的CLI方法...
Van Jone 2014年

16

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

最常见的示例-SQL Server和SQL Agent。

我确实建议使用PowerShell cmdlet解决此问题:

powershell -command "Restart-Service MSSQLSERVER -Force"

MSSQLSERVER启动后-cmdlet启动所有先前停止的依赖关系。

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


2
+1。这是最好的答案。使用其他依赖项停止和启动服务将失败。您需要添加该功能,才能以管理员身份运行。
egur

10

您还可以使用PowerShell:

stop-Service

17
PowerShell还提供Restart-Service(仅在OP询问专门重启服务
时才提及

10

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

cmd /c "net stop "Service Name" & sc start "Service Name""

4
您可能需要一个双“&”号。这使得它在继续执行第二个命令之前等待第一个命令完成(成功)。
亚当·普洛彻

4

为了解决烦人的Wacom Intuous驱动程序未运行错误,我需要每次重新启动。

Windows key+ R,贴吧,班!

sc stop WTabletServicePro && sc start WTabletServicePro

2

PsToolsPsService实用程序提供服务命令,并带有其他参数以在另一台计算机上运行它。restart

psservice [-accepteula] [\\Computer [-u Username [-p Password]]] restart <service-name>

-accepteula标志将保存您的EULA窗口,以防万一您是第一次与当前用户一起使用此实用程序。


-2

如果您知道服务的可执行位置路径,可以使用

"[service name.exe] console"

在命令行上。

如果服务无法启动,那实际上可以帮助您调试问题。


欢迎来到超级用户!请仔细阅读问题。您的答案没有回答原始问题。
DavidPostill
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.