您现在的位置是:网站首页> 编程资料编程资料
PowerShell远程安装MSI安装包、EXE可执行程序的方法_PowerShell_
2023-05-26
403人已围观
简介 PowerShell远程安装MSI安装包、EXE可执行程序的方法_PowerShell_
尽管对IT管理员或者开发者来讲,这是一个很常见的任务,但是在网上能找到“远程安装一个msi包或者exe应用程序”的相关文档还是比较少的。甚至有人在一些论坛的评论中写道,这不可能实现。事实上还是可以的。我会在本文提供两段代码,分别负责远程安装MSI包和EXE可执行应用程序。
一、安装MSI包
使用PowerShell调用WMI对象,你可以执行下面的脚本来安装你的MSI安装包:
复制代码 代码如下:
$box="deviis01" #this is the name of your server
$product= [WMICLASS]"\\$box\ROOT\CIMV2:win32_Product"
Write-Host "Installing software on $box"
$product.Install("c:\Setup \somesoftwarepackage.msi")
$product= [WMICLASS]"\\$box\ROOT\CIMV2:win32_Product"
Write-Host "Installing software on $box"
$product.Install("c:\Setup \somesoftwarepackage.msi")
它能静默安装还是蛮好的,这样就不再担心要使用命令参数了。
注:有的安装包在安装过程中可能会要求用户选择或者设置很多选项,这另当别论。
二、安装EXE应用程序
蛋疼的是使用上面的方法不能成功安装exe可执行程序的安装包,如果有童鞋有回天之力,能否留言分享下思路或者代码,因为我也很好奇这是否可行。然而,我们可以使用另外一种方法来安装exe。
复制代码 代码如下:
Write-Host "Installing software on $box"
([WMICLASS]"\\$box\ROOT\CIMV2:win32_process").Create(
"cmd.exe /c c:\Setup\somesoftware.exe /s /v`” /qn")
([WMICLASS]"\\$box\ROOT\CIMV2:win32_process").Create(
"cmd.exe /c c:\Setup\somesoftware.exe /s /v`” /qn")
上面的脚本实际上是在远程机器上新创建了一个进程,先调用cmd.exe,将可执行安装包以参数的形式传递过去,然后再把安装程序需要的参数也传递过去。这其中牵扯到了很多字符串的转义,与引号转换,可要格外小心啦。
文章出处:http://www.pstips.net/install-application-remotely.html
您可能感兴趣的文章:
相关内容
- 类似rpm包管理器的Windows Installer PowerShell Module简介_PowerShell_
- PowerShell脚本源码输出到文件的最佳写法_PowerShell_
- PowerShell批量安装msi后辍软件的方法_PowerShell_
- PowerShell捕获错误的2种方法(异常捕获命令、错误变量)_PowerShell_
- 自定义PowerShell控制台提示符风格的方法_PowerShell_
- PowerShell比较文本文件的两个方法_PowerShell_
- PowerShell计算脚本执行时间的实现方法_PowerShell_
- PowerShell多线程执行前后台作业的例子_PowerShell_
- Powershell后台作业、异步操作实例_PowerShell_
- PowerShell快速创建一个指定大小文件的实例分享_PowerShell_
