You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在远程计算机上运行PowerShell脚本以安装Google Chrome?

远程安装Google Chrome的最优PowerShell方案

嘿Stan,针对你远程安装Chrome的需求,我整理了两个最优方案,比你原本复制脚本再运行的思路更高效,还能避开不少坑:

方案一:直接远程执行安装逻辑(无需复制脚本)

这个方案我更推荐,不用费劲把本地脚本传到远程机器,直接通过PowerShell远程会话让目标机器自己完成下载安装,全程不用碰文件共享,能避开很多权限问题。

提前准备

  • 确认目标机器开启了WinRM服务:域环境里基本默认开启,工作组机器可能需要手动配置。你可以在本地先跑这个命令测连通性:
    Test-WSMan -ComputerName <目标机器名/IP>
    
    能正常返回结果就说明没问题。
  • 你得有目标机器的管理员权限哦。

执行命令

把安装逻辑直接塞进Invoke-Command里,一次性搞定:

# 先在本地输入目标机器信息
$comp = Read-Host "请输入目标计算机名或IPv4地址"

# 远程执行安装流程
Invoke-Command -ComputerName $comp -ScriptBlock {
    $Installer = "$env:temp\chrome_installer.exe"
    $url = 'http://dl.google.com/chrome/install/375.126/chrome_installer.exe'
    Invoke-WebRequest -Uri $url -OutFile $Installer -UseBasicParsing
    Start-Process -FilePath $Installer -Args '/silent /install' -Wait
    Remove-Item -Path $Installer -Force
} -Credential (Get-Credential -Message "请输入目标机器的管理员凭据")

为啥这个方案更好?

  • 不用纠结\\$comp\c$的权限问题(比如防火墙限制、共享权限不足)
  • 安装包是从远程机器的网络下载的,速度比你从本地传过去快多了
  • 不会在远程机器留下脚本文件,更干净

方案二:优化你原本的“复制脚本再运行”思路

如果你还是想用本地已有的脚本文件,那我给你优化下步骤,确保脚本能顺利在远程执行:

改进后的完整流程

# 本地输入必要信息
$login = Read-Host "请输入登录ID"
$comp = Read-Host "请输入计算机名或IPv4地址"
$localScriptPath = "\\localhost\c$\Chrome\Chrome Installer.ps1"
$remoteScriptPath = "\\$comp\c$\temp\Chrome Installer.ps1"

# 先确保远程机器的C:\temp目录存在(避免复制失败)
Invoke-Command -ComputerName $comp -ScriptBlock {
    if (-not (Test-Path -Path "C:\temp")) {
        New-Item -Path "C:\temp" -ItemType Directory -Force | Out-Null
    }
} -Credential (Get-Credential -UserName $login -Message "请输入管理员凭据")

# 把本地脚本复制到远程机器
Copy-Item -Path $localScriptPath -Destination $remoteScriptPath -Force

# 通过远程会话执行脚本
Invoke-Command -ComputerName $comp -ScriptBlock {
    & "C:\temp\Chrome Installer.ps1"
} -Credential (Get-Credential -UserName $login -Message "请输入管理员凭据")

# 可选:执行完删掉远程机器上的脚本,保持干净
Remove-Item -Path $remoteScriptPath -Force

重要提醒!

你的原脚本里有Read-Host命令,但远程执行脚本的时候是没法交互的,会直接卡住!所以建议把原脚本改成参数化脚本,或者像上面的代码这样,把需要输入的内容(比如登录ID、机器名)放在本地完成,不要让远程脚本自己弹输入框。

如果\\$comp\c$没法访问,大概率是目标机器的防火墙限制了文件共享,这时候方案一就更靠谱啦。

内容的提问来源于stack exchange,提问作者Stan Di

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 06:17:43