PowerShell远程安装应用程序

安装MSI包

使用PowerShell调用WMI对象,你可以执行下面的脚本来安装你的MSI安装包:

1 $box="deviis01" #this is the name of your server
2 $product= [WMICLASS]"\$boxROOTCIMV2:win32_Product"
3 Write-Host "Installing software on $box"
4 $product.Install("c:Setup somesoftwarepackage.msi")
 

它能静默安装还是蛮好的,这样就不再担心要使用命令参数了。

有的安装包在安装过程中可能会要求用户选择或者设置很多选项,这另当别论。

安装EXE引用程序

但是使用上面的方法不能成功安装exe可执行程序的安装包,如果有童鞋有回天之力,能否留言分享下思路或者代码,因为我也很好奇这是否可行。然而,我们可以使用另外一种方法来安装exe。

1 Write-Host "Installing software on $box"
2 ([WMICLASS]"\$boxROOTCIMV2:win32_process").Create(
3 "cmd.exe /c c:Setupsomesoftware.exe /s /v`” /qn")
 

上面的脚本实际上是在远程机器上新创建了一个进程,先调用cmd.exe,将可执行安装包以参数的形式传递过去,然后再把安装程序需要的参数也传递过去。这其中牵扯到了很多字符串的转义,与引号转换,可要格外小心啦。

From:http://www.pstips.net/install-application-remotely.html

原文地址:https://www.cnblogs.com/dreamer-fish/p/3941492.html