使用 PowerShell 远程安装时获取 MSI 退出代码
Getting MSI exit code when installing remotely using PowerShell
我使用下面的例子在远程计算机上安装一些软件
我想从 MSI 取回退出代码,以便确定是否成功或失败是什么错误
我假设 $result 会包含我需要的信息,但我显然遗漏了一些东西
有什么想法吗?
$Result = Invoke-Command -computername MYREMOTEPC -ScriptBlock { Start-Process "msiexec" -ArgumentList "/i C:\tmp\MYSOFTWARE.msi /quiet /norestart" -Wait -Passthru }
在(...).ExitCode
中包含Start-Process -Passthru
命令:
$Result = Invoke-Command -computername MYREMOTEPC -ScriptBlock {
(
Start-Process "msiexec" -ArgumentList "/i C:\tmp\MYSOFTWARE.msi /quiet /norestart" -Wait -PassThru
).ExitCode
}
-PassThru
指示 Start-Process
to output a System.Diagnostics.Process
代表启动进程的实例,并且鉴于 -Wait
也被使用,它的 .ExitCode
属性 可以立即访问.
我使用下面的例子在远程计算机上安装一些软件
我想从 MSI 取回退出代码,以便确定是否成功或失败是什么错误
我假设 $result 会包含我需要的信息,但我显然遗漏了一些东西
有什么想法吗?
$Result = Invoke-Command -computername MYREMOTEPC -ScriptBlock { Start-Process "msiexec" -ArgumentList "/i C:\tmp\MYSOFTWARE.msi /quiet /norestart" -Wait -Passthru }
在(...).ExitCode
中包含Start-Process -Passthru
命令:
$Result = Invoke-Command -computername MYREMOTEPC -ScriptBlock {
(
Start-Process "msiexec" -ArgumentList "/i C:\tmp\MYSOFTWARE.msi /quiet /norestart" -Wait -PassThru
).ExitCode
}
-PassThru
指示 Start-Process
to output a System.Diagnostics.Process
代表启动进程的实例,并且鉴于 -Wait
也被使用,它的 .ExitCode
属性 可以立即访问.