You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何使用PowerShell在本地运行其他计算机上的脚本?

如何使用PowerShell在本地运行其他计算机上的脚本?

嘿,这个需求其实挺常见的,咱们用PowerShell完全能搞定!下面给你几种实用的方法,你可以根据自己的场景选:

  • 直接通过UNC路径运行(最简便)
    如果远程计算机上的脚本放在共享文件夹里,而且你有访问这个共享的权限,直接在本地PowerShell里用UNC路径调用就行:

    & "\\远程计算机名\共享文件夹路径\目标脚本.ps1"
    

    举个例子,假设远程电脑叫OfficePC,脚本在它的Scripts共享文件夹里,那命令就是& "\\OfficePC\Scripts\DeployApp.ps1"
    注意:要确保你的PowerShell执行策略允许运行远程脚本,可以用Get-ExecutionPolicy查看,要是限制太严,可能需要临时设置成RemoteSigned(记得执行完后改回原来的策略哦)。

  • 先下载到本地再运行
    如果远程脚本比较大,或者你需要离线执行,先把脚本复制到本地再运行会更稳妥:

    # 先把远程脚本复制到本地临时目录
    Copy-Item -Path "\\远程计算机名\共享文件夹\目标脚本.ps1" -Destination "C:\Temp\"
    # 运行本地的脚本副本
    & "C:\Temp\目标脚本.ps1"
    
  • 无共享文件夹时,远程获取脚本内容再执行
    如果远程机器没开共享,那咱们可以先通过PowerShell会话获取脚本的内容,再在本地创建脚本块执行:

    # 建立和远程计算机的会话
    $remoteSession = New-PSSession -ComputerName 远程计算机名
    # 远程读取脚本内容
    $scriptContent = Invoke-Command -Session $remoteSession -ScriptBlock { Get-Content "C:\远程机器本地路径\目标脚本.ps1" }
    # 在本地执行获取到的脚本内容
    Invoke-Command -ScriptBlock ([scriptblock]::Create($scriptContent))
    # 用完记得关闭会话
    Remove-PSSession $remoteSession
    

    要是远程机器需要特定身份验证,可以加上-Credential参数,输入有权限的账号密码。

不管用哪种方法,核心都是要保证你有访问远程机器对应资源的权限,域环境下通常会自动用当前账号身份,工作组环境可能需要额外指定权限哦。

备注:内容来源于stack exchange,提问作者FerdinandoPH

火山引擎 最新活动