盡管對(duì)IT管理員或者開發(fā)者來講,這是一個(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í)行下面的腳本來安裝你的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")
它能靜默安裝還是蠻好的,這樣就不再擔(dān)心要使用命令參數(shù)了。
注:有的安裝包在安裝過程中可能會(huì)要求用戶選擇或者設(shè)置很多選項(xiàng),這另當(dāng)別論。
二、安裝EXE應(yīng)用程序
蛋疼的是使用上面的方法不能成功安裝exe可執(zhí)行程序的安裝包,如果有童鞋有回天之力,能否留言分享下思路或者代碼,因?yàn)槲乙埠芎闷孢@是否可行。然而,我們可以使用另外一種方法來安裝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")
上面的腳本實(shí)際上是在遠(yuǎn)程機(jī)器上新創(chuàng)建了一個(gè)進(jìn)程,先調(diào)用cmd.exe,將可執(zhí)行安裝包以參數(shù)的形式傳遞過去,然后再把安裝程序需要的參數(shù)也傳遞過去。這其中牽扯到了很多字符串的轉(zhuǎn)義,與引號(hào)轉(zhuǎn)換,可要格外小心啦。
文章出處:http://www.pstips.net/install-application-remotely.html
新聞熱點(diǎn)
疑難解答
圖片精選