PowerShell 远程执行怎么在远程主机上安装部署软件应用

阿枫酱_4643

阿枫酱_4643

2026-10-20

572人浏览

原创

PowerShell远程执行不直接安装软件,而是通过WinRM在目标机运行安装命令;需先启用PSRemoting、配置TrustedHosts与防火墙;再上传文件后调用msiexec或执行部署脚本;推荐封装逻辑为.ps1并用Invoke-Command远程运行。
PowerShell 远程执行本身不直接“安装软件”,而是提供一种安全、可控的方式,在远程主机上运行安装逻辑——比如调用 MSI 安装包、执行 PowerShell 脚本、启动 EXE 安装程序,或调用系统级命令(如 `Start-Process`、`msiexec`)。关键在于:**远程执行的是命令或脚本,安装行为发生在目标机器本地**。 以下是实际可行、生产环境中常用的方法,按推荐顺序组织:

确保远程执行基础已就绪

远程安装的前提是 winrm 已启用且可通信:

  • 在目标主机(即要安装软件的机器)上以管理员身份运行:
    Enable-PSRemoting -Force
  • 确认 WinRM 监听状态:
    winrm quickconfig 或 Test-WsMan -ComputerName
  • 若跨域或非域环境,需将目标主机加入本地 TrustedHosts:
    Set-Item WSMan:\localhost\Client\TrustedHosts "" -Concatenate -Force
  • 防火墙需放行端口 5985(HTTP)或 5986(HTTPS),建议优先使用 HTTPS 并配置证书

把安装文件传到远程主机再执行

PowerShell 远程会话默认不自动同步本地文件。必须先上传安装介质(如 setup.exe、installer.msi、部署脚本):

  • 使用 Copy-Item -ToSession(PowerShell 5.0+)上传文件:
    $session = New-PSSession -ComputerName Server01
    Copy-Item "C:\Local\app-installer.msi" -Destination "C:\Temp\" -ToSession $session
  • 然后在会话中调用安装命令:
    Invoke-Command -Session $session -ScriptBlock {
    & msiexec /i "C:\Temp\app-installer.msi" /quiet /norestart
    }
  • 注意:/quiet 参数避免交互,/norestart 防止意外重启;建议加 Start-Process ... -Wait 确保安装完成再返回

直接远程执行安装脚本(推荐用于批量部署)

把安装逻辑封装成 .ps1 脚本(含错误检查、日志、静默参数),再通过远程会话加载执行:

Windows-Android_SSH_Remote_Control
Windows-Android_SSH_Remote_Control

通过 SSH 隧道从 Android 设备在互联网上对 Windows PC 实现完整远程控制的设置与使用指南,适用于远程桌面访问、安全 RDP 等。

下载
  • 脚本示例(deploy-app.ps1)可包含:
    • 检查是否已安装(Get-AppxPackage / Get-WmiObject Win32_Product)
    • 下载安装包(Invoke-WebRequest)或从共享路径复制
    • 调用 msiexec 或 Install-Package(需提前注册包源)
    • 记录 InstallLog.txt 到远程磁盘
  • 执行方式:
    Invoke-Command -ComputerName Server01 -FilePath ".\deploy-app.ps1"
    该命令会把脚本内容序列化发送到远程主机并执行,无需预先上传脚本文件
  • 优势:逻辑集中、版本可控、支持参数传入(如 -Version "2.4.1")

结合配置管理或扩展机制(进阶场景)

对大规模或云环境,不建议纯手工写远程命令,而应对接更稳定的部署通道:

  • Azure VM 规模集:用 Custom Script Extension 自动下载并运行安装脚本
  • Windows Server + Group Policy:通过启动脚本(Startup Script)静默部署 MSI
  • Configuration Manager:用客户端推送安装 + 应用程序模型分发部署
  • 使用 PowerShell DSC(Desired State Configuration)声明式定义“必须安装某软件”,由 LCM 引擎自动拉取并安装
不复杂但容易忽略:所有远程安装操作都以当前会话凭据权限运行,务必确认账户对目标主机具有本地管理员权限,且对安装路径(如 C:\Program Files)、注册表、服务有足够访问控制。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

windows

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

940

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3032

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

996

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

889

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

454

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2756

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5132

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

807

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Conan 2 安装指南
Conan 2 安装指南

共0课时 | 0人学习