我需要创建一个通用脚本来重启服务:
net stop <service>
net start <service>
问题是我不知道服务的名称。
例如,“printer spooler
”的名称为“spooler
”。
如何找到任何服务的名称?
答案 0 :(得分:24)
services.msc
。您应该看到:
答案 1 :(得分:6)
我从注册表中获取:HKLM \ System \ CurrentControlSet \ Services。每个子项都是服务或驱动程序的名称。只需搜索您正在寻找的那个。
答案 2 :(得分:5)
使用sc
而不是net
,因为它拥有更多功能。它首先在Windows XP中引入(IIRC):
sc GetKeyName "printer spooler"
应该打印如下:
[SC] GetServiceKeyName SUCCESS Name = Spooler
然后您可以在其他命令中使用该名称,例如sc start
和sc 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。