如何在PowerShell中使用批处理文件安装MSI文件?


假设我们有一个MSI文件,需要使用PowerShell在远程计算机上安装它,但该MSI文件应该与批处理文件一起部署,并通过PowerShell执行。

在这个例子中,我们有一个7-zip MSI文件和一个批处理文件,我们首先编写如下所示的安装指令。

msiexec /i "C:\temp\7z1900-x64.msi" /quiet

安装MSI包位于C:\temp位置。我们将以上指令保存到**7ZipInstaller.bat文件中**。

现在我们需要调用批处理文件,如下所示:- **Wait** 将等待批处理文件先执行,然后才执行(如果有)后续指令;- **NoNewWindow** 将……

Start-Process C:\Temp\7zipInstaller.bat -Wait -NoNewWindow

运行上述命令后,它将在指定位置安装7zip。您可以直接在**Start-Process**中传递这些指令来执行MSI,但是如果需要执行批处理文件,这是一个好方法,因为我们也可以远程调用这个批处理文件。以下命令用于远程计算机。

Invoke-Command -ComputerName TestMachine1, TestMachine2 -ScriptBlock{
   Start-Process C:\Temp\7zipInstaller.bat -Wait -NoNewWindow
}

此命令将在计算机**Testmachine1**和**Testmachine2**上运行。在运行此命令之前,请确保将MSI包复制到远程位置。

更新于:2021年5月17日

3K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.