我是Powershell的新手。我正在处理一个不是间歇性启动服务的脚本。
$sensuresult = Start-Process -Wait -FilePath $filepath -ArgumentList '/tasks="assocfiles,modpath" /quiet' -PassThru
基本上,我们在这里尝试安装.msi软件包。上面的行间歇性地失败了。
Write-Host $sensuresult
Write-Host : The following exception occurred while retrieving the string: "Process has exited, so
the requested information is not available."
At line:8 char:1
+ Write-Host $sensuresult
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Host], ExtendedTypeSystemException
+ FullyQualifiedErrorId :
ToStringPSObjectBasicException,Microsoft.PowerShell.Commands.WriteHostCommand
使用上面的错误消息,我真的不知道启动进程失败还是写入主机。
我能否对Start-Process为什么不间歇地安装软件包以及进行此操作的最佳替代方法有一些了解?
答案 0 :(得分:0)
您可以通过首先检查进程是否正在运行来启动进程。
#check service is running or not
$ServiceName = 'AppIDSvc'
$arrService = Get-Service -Name $ServiceName
while ($arrService.Status -ne 'Running')
{
Start-Service $ServiceName
write-host $arrService.status
write-host 'Service starting'
Start-Sleep -seconds 15
$arrService.Refresh()
if ($arrService.Status -eq 'Running')
{
Write-Host 'Service is now Running'
}
}