powershell - 使用 PowerShell 远程安装时获取 MSI 退出代码
问题描述
我使用以下示例在远程计算机上安装一些软件
我想从 MSI 中取回退出代码,以便确定是否成功或错误是什么
我假设 $result 将包含我需要的信息,但我显然遗漏了一些东西
请问有什么想法吗?
$Result = Invoke-Command -computername MYREMOTEPC -ScriptBlock { Start-Process "msiexec" -ArgumentList "/i C:\tmp\MYSOFTWARE.msi /quiet /norestart" -Wait -Passthru }
解决方案
将Start-Process -Passthru
命令括在(...).ExitCode
:
$Result = Invoke-Command -computername MYREMOTEPC -ScriptBlock {
(
Start-Process "msiexec" -ArgumentList "/i C:\tmp\MYSOFTWARE.msi /quiet /norestart" -Wait -PassThru
).ExitCode
}
-PassThru
指示Start-Process
输出一个System.Diagnostics.Process
表示已启动进程的实例,并且如果-Wait
也使用该实例,则.ExitCode
可以立即访问其属性。
推荐阅读
- jenkins - Jenkins 构建描述现在不再显示在构建历史视图中
- javascript - 从谷歌脚本过滤下拉值
- math - 沿样条线弯曲网格
- c# - 使用 XamlIslands 在 WPF 项目中更新 Microsoft.UI.Xaml 库时出现问题
- html - 禁用 Snipcart 整页购物车
- python - 使用 openpyxl 将字典值传递给 excel 时出现问题。(它将值插入为 0)
- null - 如果在sas中过滤后输出为空,如何显示消息
- reactjs - 单击 React.js 中的引导模式按钮后如何重新渲染组件
- python - 我试图找出'n 到 m 以 p 为步长,其中 n、m 和 p 由用户输入'
- python - 根据整数值分组