我有一个获取 Windows Print Spooler 实际名称的 PowerShell 脚本
$serviceDisplayName = "Print Spooler"
$actualServiceName = (Get-Service -DisplayName "$serviceDisplayName").Name
我可以准确地找出打印后台处理程序是否正在运行:
Try
{
$serviceInqResults = get-service -Name $actualServiceName -ErrorVariable err
}
Catch
{
write-output "An exception occurred while trying to see if $serviceDisplayName were running or not."
write-output $err
}
但是,当我尝试通过它的真实名称或显示名称重新启动打印后台处理程序时,我得到了同样的错误:
if($serviceInqResults.Status -ne "Running")
{
write-output "The service is not running. Starting the $serviceDisplayName "
try
{
Start-Service -Name $actualServiceName -ErrorVariable err
}
Catch
{
write-output $err
}
Service 'Print Spooler (Spooler)' cannot be started due
to the following error: Cannot open Spooler service on computer '.'.
我尝试使用名称“Print Spooler”、“Spooler”、“Print Spooler (Spooler)”启动服务,但都出现相同的错误,但我可以在服务控制管理器(服务)中启动它。
我想知道我错过了什么。