使用PowerShell脚本安装多个程序,报告安装成功或失败

时间:2019-01-07 21:42:57

标签: powershell

我正在尝试制作PowerShell脚本以在一台计算机上安装多个程序,但是我希望它报告安装成功还是失败。

我没有使用PowerShell的经验,并且尝试了我可以在StackOverflow和Google上找到的所有内容,但这对我来说没有意义。

$install = Start-Process -FilePath "path" -ArgumentList "/qb" -Wait
if ($install.ExitCode -eq 0) {
    Write-Host "Install Successful"
} else {
    Write-Host "Install Failed"
}

1 个答案:

答案 0 :(得分:0)

将参数-PassThru添加到Start-Process,以便cmdlet实际上输出可分配给变量$install的过程对象。您拥有的代码无法执行此操作,因此$install为空,并且检查空变量上的属性ExitCode显然无法满足您的期望。您可能还想使用/qn(无UI)而不是/qb(基本UI)进行无人参与的安装。

这应该做您想要的:

$install = Start-Process -FilePath 'path' -ArgumentList '/qn' -Wait -PassThru
if ($install.ExitCode -eq 0) {
    Write-Host "Install Successful"
} else {
    Write-Host "Install Failed"
}

话虽如此,您问题中张贴的代码显然不可能完全没有输出。无论安装是否成功,应该都显示“安装失败”,因为$install为空,$install.ExitCode -eq 0的计算结果为$null -eq 0,转为$false