使用本地安装程序在远程服务器上安装应用程序

Install application on remote server using local installer

我有一个安装服务的安装文件 (*.msi)。我想在远程服务器上安装此服务。

通过远程桌面执行此操作没有问题,但我找不到使用批处理文件或 PowerShell 命令自动执行此操作的解决方案,这些命令将使用本地文件远程安装应用程序。

问题是什么:

我有一个生成安装文件的 Bamboo CI 服务器。我想使用脚本在远程服务器上安装应用程序,而不复制安装文件(类似于使用 Ms Web Deploy 部署应用程序的方式)。

这样可以吗?

到目前为止,我已经尝试了 installutil.exe(在本地工作,但我无法将其配置为远程安装)、ServiceConsole,但它无法使用 create 命令正确安装应用程序,而且我无法覆盖应用程序。

安装 .msi 文件时使用的可执行文件是 msiexec.exe;您可以使用 PowerShell 的 Invoke-Command cmdlet 远程调用它,并将它作为参数传递到 .msi 文件的远程路径(查看 msiexec.exe 语法了解详细信息)。

诀窍是从远程 PowerShell 会话访问本地服务器上的 .msi 文件。您几乎肯定需要使用 CredSSP 身份验证创建会话,以便由 Invoke-Command 创建的远程 PowerShell 会话能够连接回您的本地服务器并访问 .msi 文件。

希望这能让您走上正确的道路。


我以前做过
首先用 invoke-webrequest like

下载 msi 或 exe 命令
invoke-webrequest http://mysiteapp -outfile c:\myapp.msi

然后
您可以使用 msiexec 安装应用程序,或者某些应用程序可以像这样安装

myapp.msi /quite  

如果你有来自服务器的 telnet,你可以制作脚本,然后 运行...
如果您没有访问 telnet,您应该使用 invoke-commandpsexec 这个link可以帮助你