盡管對IT管理員或者開發(fā)者來講,這是一個很常見的任務,但是在網(wǎng)上能找到“遠程安裝一個msi包或者exe應用程序”的相關文檔還是比較少的。甚至有人在一些論壇的評論中寫道,這不可能實現(xiàn)。事實上還是可以的。我會在本文提供兩段代碼,分別負責遠程安裝MSI包和EXE可執(zhí)行應用程序。
一、安裝MSI包
使用PowerShell調(diào)用WMI對象,你可以執(zhí)行下面的腳本來安裝你的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")
它能靜默安裝還是蠻好的,這樣就不再擔心要使用命令參數(shù)了。
注:有的安裝包在安裝過程中可能會要求用戶選擇或者設置很多選項,這另當別論。
二、安裝EXE應用程序
蛋疼的是使用上面的方法不能成功安裝exe可執(zhí)行程序的安裝包,如果有童鞋有回天之力,能否留言分享下思路或者代碼,因為我也很好奇這是否可行。然而,我們可以使用另外一種方法來安裝exe。
復制代碼 代碼如下:
Write-Host "Installing software on $box"
([WMICLASS]"\\$box\ROOT\CIMV2:win32_process").Create(
"cmd.exe /c c:\Setup\somesoftware.exe /s /v`” /qn")
上面的腳本實際上是在遠程機器上新創(chuàng)建了一個進程,先調(diào)用cmd.exe,將可執(zhí)行安裝包以參數(shù)的形式傳遞過去,然后再把安裝程序需要的參數(shù)也傳遞過去。這其中牽扯到了很多字符串的轉(zhuǎn)義,與引號轉(zhuǎn)換,可要格外小心啦。
文章出處:http://www.pstips.net/install-application-remotely.html
您可能感興趣的文章:- PowerShell小技巧之啟動遠程桌面連接
- PowerShell小技巧之添加遠程防火墻規(guī)則
- Powershell小技巧--遠程對比服務配置
- PowerShell入門教程之遠程操作運行PowerShell的方法
- Powershell小技巧之非相同域或信任域也能遠程
- Powershell小技巧之開啟關閉遠程連接
- 使用HTTP api簡單的遠程執(zhí)行PowerShell腳本