NET START <SERVICE> - 获取服务名称的方式/位置?

gaf*_*fcz 17 windows service windows-services

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

net stop <service>
net start <service>
Run Code Online (Sandbox Code Playgroud)

问题是我不知道服务的名称.例如," printer spooler"是名称" spooler".

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

Tun*_*ung 26

  1. 开始→运行
  2. 然后键入:services.msc.
  3. 双击您感兴趣的服务.

你应该看到:

在此输入图像描述


Dam*_*ver 8

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

sc GetKeyName "printer spooler"
Run Code Online (Sandbox Code Playgroud)

应该打印像:

[SC] GetServiceKeyName SUCCESS  Name = Spooler
Run Code Online (Sandbox Code Playgroud)

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


rod*_*igo 7

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


小智 5

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

Get-Service -DisplayName "Print Spooler"
Run Code Online (Sandbox Code Playgroud)

哪个将返回:

Status   Name               DisplayName
------   ----               -----------
Running  Spooler            Print Spooler
Run Code Online (Sandbox Code Playgroud)

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

 Get-Service -Name spooler
Run Code Online (Sandbox Code Playgroud)

这将返回与上面相同的表。你也可以写:

(Get-Service -DisplayName "Print Spooler").Name
Run Code Online (Sandbox Code Playgroud)

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

这实际上只需要检查服务是否正在运行。PowerShell 有 Cmdlet Start-Service 和 Stop-Service,它采用参数 -Name 和 -DisplayName,因此您可以编写:

Start-Service -DisplayName "Print Spooler"
Stop-Service -DisplayName "Print Spooler"
Run Code Online (Sandbox Code Playgroud)

启动和停止服务。

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