PowerShell遠程安裝MSI安裝包、EXE可執行程序的方法

PowerShell遠程安裝MSI安裝包、EXE可執行程序的方法,這篇文章主要介紹了PowerShell遠程安裝MSI安裝包、EXE可執行程序的方法,需要的朋友可以參考下
關鍵字:PowerShell、遠程安裝、MSI安裝包、EXE可執行程序

盡管對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")

它能靜默安裝還是蠻好的,這樣就不再擔心要使用命令參數了。

注:有的安裝包在安裝過程中可能會要求用戶選擇或者設置很多選項,這另當別論。

二、安裝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")

上面的腳本實際上是在遠程機器上新創建了一個進程,先調用cmd.exe,將可執行安裝包以參數的形式傳遞過去,然后再把安裝程序需要的參數也傳遞過去。這其中牽扯到了很多字符串的轉義,與引號轉換,可要格外小心啦。

文章出處:http://www.pstips.net/install-application-remotely.html

众人帮太赚钱了