一、安装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应用程序
这里以安装搜狗五笔为例
远程安代码如下:
Write-Host "Installing software on $box"
([WMICLASS]"\\$box\ROOT\CIMV2:win32_process").Create(
"cmd.exe /c c:\sogou.exe /S /v`” /qn")
本机Powershell命令安装:cmd.exe /c c:\sogou.exe /S /v /qn
上面的脚本实际上是在远程机器上新创建了一个进程,先调用cmd.exe,将可执行安装包以参数的形式传递过去,然后再把安装程序需要的参数也传递过去。这其中牵扯到了很多字符串的转义,与引号转换,可要格外小心啦。