我有一个安装服务的安装文件(* .msi)。我想在远程服务器上安装此服务。
通过远程桌面执行此操作不是问题,但我无法使用批处理文件或PowerShell命令自动执行此操作,该命令将使用本地文件远程安装应用程序。
问题是什么:
我有一个Bamboo CI服务器,可以生成安装文件。我想使用脚本在远程服务器上安装应用程序,而不复制安装文件(类似于使用Ms Web Deploy部署应用程序)。
是否可以这样做?
到目前为止,我已经尝试过installutil.exe(在本地工作,但我无法将其配置为远程安装),ServiceConsole,但它以某种方式无法使用create命令正确安装应用程序,我无法覆盖该应用程序。< / p>
答案 0 :(得分:1)
我之前这样做
首先用invoke-webrequest
下载msi或exe命令,如
invoke-webrequest http://mysiteapp -outfile c:\myapp.msi
然后
您可以使用msiexec
安装应用,或者某些应用可以像这样安装
myapp.msi /quite
如果您有来自服务器的telnet,您可以制作脚本,然后运行...
如果您没有访问telnet,则应使用invoke-command
或psexec
这个link可以帮助你
答案 1 :(得分:0)
安装.msi文件时使用的可执行文件是msiexec.exe;您可以使用PowerShell的Invoke-Command cmdlet远程调用它,并将远程路径作为参数传递给.msi文件(查看msiexec.exe语法以获取详细信息)。
技巧是从远程PowerShell会话访问本地服务器上的.msi文件。您几乎肯定需要使用CredSSP身份验证创建会话,以便Invoke-Command创建的远程PowerShell会话能够建立与本地服务器的连接并访问.msi文件。
我希望这能让你走上正确的道路。