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