NET START <service> - 如何/在何处获取服务名称?</service>

时间:2011-08-24 08:03:25

标签: windows service windows-services

我需要创建一个通用脚本来重启服务:

net stop <service>
net start <service>

问题是我不知道服务的名称。 例如,“printer spooler”的名称为“spooler”。

如何找到任何服务的名称?

4 个答案:

答案 0 :(得分:24)

  1. 开始→运行
  2. 然后输入:services.msc
  3. 双击您感兴趣的服务。
  4. 您应该看到:

    enter image description here

答案 1 :(得分:6)

我从注册表中获取:HKLM \ System \ CurrentControlSet \ Services。每个子项都是服务或驱动程序的名称。只需搜索您正在寻找的那个。

答案 2 :(得分:5)

使用sc而不是net,因为它拥有更多功能。它首先在Windows XP中引入(IIRC):

sc GetKeyName "printer spooler"

应该打印如下:

[SC] GetServiceKeyName SUCCESS  Name = Spooler

然后您可以在其他命令中使用该名称,例如sc startsc stop

答案 3 :(得分:3)

对于有权访问PowerShell的系统。更好的方法是使用Cmdlet“Get-Service”。您可以通过键入以下内容来调用它:

Get-Service -DisplayName "Print Spooler"

将返回:

Status   Name               DisplayName
------   ----               -----------
Running  Spooler            Print Spooler

在名称下获取服务名称的位置。如果您愿意,DisplayName参数可以使用通配符。 如果你想获得显示名称,你可以写:

 Get-Service -Name spooler

哪个会返回与上面相同的表格。你也可以写:

(Get-Service -DisplayName "Print Spooler").Name

获取名称(避免使用表格)。

这实际上只需要检查服务是否正在运行。 PowerShell有Cmdlet Start-Service和Stop-Service,它接受参数-Name和-DisplayName,所以你可以写:

Start-Service -DisplayName "Print Spooler"
Stop-Service -DisplayName "Print Spooler"

启动和停止服务。

在这种情况下,我使用了PowerShell 2.0,所以我猜它可以在上面的任何Windows上运行,包括XP。