盡管對IT管理員或者開發者來講,這是一個很常見的任務,但是在網上能找到“遠程安裝一個msi包或者exe應用程序”的相關文檔還是比較少的。甚至有人在一些論壇的評論中寫道,這不可能實現。事實上還是可以的。我會在本文提供兩段代碼,分別負責遠程安裝MSI包和EXE可執行應用程序。
一、安裝MSI包
使用PowerShell調用WMI對象,你可以執行下面的腳本來安裝你的MSI安裝包:
代碼如下:$box="deviis01" #this is the name of your server
$product= [WMICLASS]"http://$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]"http://$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
新聞熱點
疑難解答