我有一个PowerShell脚本,它获取Windows假脱机程序的实际名称
$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 '.'.我尝试以“打印假脱机程序”、“假脱机程序”、“打印假脱机程序”的名称启动服务,所有这些都有相同的错误,但是我可以在服务控制管理器(服务)中启动它。
我想知道我错过了什么。
发布于 2021-01-14 21:54:14
我不明白为什么你的代码不起作用。然而,以下工作在我的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发布于 2021-01-15 13:43:32
使用@Lee_Dailey使用-InputObject的示例,这将返回假脱机程序,而不是打印假脱机程序(谢谢,Lee)
PS C:\Users\fred> Get-Service -InputObject "Print Spooler"
Status Name DisplayName
------ ---- -----------
Running Spooler Print Spooler
PS C:\Users\fred>https://stackoverflow.com/questions/65726017
复制相似问题