Powershell 尝试重新启动后台打印程序
Powershell Trying To Restart Print Spooler
我有一个 PowerShell 脚本可以获取 Windows Print Spooler
的实际名称
$serviceDisplayName = "Print Spooler"
$actualServiceName = (Get-Service -DisplayName "$serviceDisplayName").Name
我可以准确地查出 Print Spooler 是否是 运行:
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
}
但是,当我尝试通过真实名称或显示名称重新启动 Print Spooler 时,我遇到了同样的错误:
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)”的服务,但都出现相同的错误,但我可以在服务控制管理器(服务)中启动它.
我想知道我错过了什么。
我不明白为什么你的代码不起作用。 [blush] 但是,以下适用于我的 win10、20h2 安装,而 运行 提升 ...
$PrintSpooler = Get-Service -Name Spooler
$PrintSpooler
if ($PrintSpooler.Status -eq 'running')
{
Stop-Service -InputObject $PrintSpooler
}
Get-Service -Name Spooler
Start-Service -Name Spooler
Get-Service -Name Spooler
输出...
Status Name DisplayName
------ ---- -----------
Running Spooler Print Spooler
Stopped Spooler Print Spooler
Running Spooler Print Spooler
使用 @Lee_Dailey 的示例,该示例使用了 -InputObject,这个 returns 假脱机程序,而不是打印假脱机程序(谢谢,Lee)
PS C:\Users\fred> Get-Service -InputObject "Print Spooler"
Status Name DisplayName
------ ---- -----------
Running Spooler Print Spooler
PS C:\Users\fred>
我有一个 PowerShell 脚本可以获取 Windows Print Spooler
的实际名称$serviceDisplayName = "Print Spooler"
$actualServiceName = (Get-Service -DisplayName "$serviceDisplayName").Name
我可以准确地查出 Print Spooler 是否是 运行:
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
}
但是,当我尝试通过真实名称或显示名称重新启动 Print Spooler 时,我遇到了同样的错误:
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)”的服务,但都出现相同的错误,但我可以在服务控制管理器(服务)中启动它.
我想知道我错过了什么。
我不明白为什么你的代码不起作用。 [blush] 但是,以下适用于我的 win10、20h2 安装,而 运行 提升 ...
$PrintSpooler = Get-Service -Name Spooler
$PrintSpooler
if ($PrintSpooler.Status -eq 'running')
{
Stop-Service -InputObject $PrintSpooler
}
Get-Service -Name Spooler
Start-Service -Name Spooler
Get-Service -Name Spooler
输出...
Status Name DisplayName
------ ---- -----------
Running Spooler Print Spooler
Stopped Spooler Print Spooler
Running Spooler Print Spooler
使用 @Lee_Dailey 的示例,该示例使用了 -InputObject,这个 returns 假脱机程序,而不是打印假脱机程序(谢谢,Lee)
PS C:\Users\fred> Get-Service -InputObject "Print Spooler"
Status Name DisplayName
------ ---- -----------
Running Spooler Print Spooler
PS C:\Users\fred>