如何通过PowerShell向虚拟机复制文件?跨网络(如Azure VM)场景方案咨询
太懂这种痛点了!网上找往Azure VM传文件的方案,十有八九默认两台设备在同一局域网,真碰到跨网络场景(比如本地电脑往Azure VM复制文件)就没辙了,之前那篇四年前的《Windows Azure Powershell Copying file to VM》步骤又繁琐到离谱,完全不适合日常用。
下面给你几个简洁实用的跨网传输方案:
跨网络向Azure VM复制文件的高效方案
Azure Bastion 浏览器直传(零配置首选)
直接通过Azure门户用Azure Bastion连接你的VM,连接成功后,在窗口右上角能看到「上传文件」的按钮,点击后选本地文件,再指定VM里的目标路径就能直接传输,全程在浏览器完成,不用开任何额外端口,新手也能秒上手。AzCopy 命令行传输(适合批量/自动化场景)
分两步走,借助Azure存储账户中转:- 本地端上传文件到Blob容器:
azcopy copy "C:\LocalFiles\example.zip" "https://yourstorageaccount.blob.core.windows.net/yourcontainer/example.zip?你的SAS令牌" - 登录Azure VM后从Blob下载到本地:
azcopy copy "https://yourstorageaccount.blob.core.windows.net/yourcontainer/example.zip?你的SAS令牌" "E:\VMFiles\example.zip"
SAS令牌可以在Azure门户的存储容器里生成,只需要勾选读、写权限就行,有效期按需设置。
- 本地端上传文件到Blob容器:
Azure VPN Gateway 建立虚拟内网(长期频繁传输用)
如果需要经常跨网传文件,不如一次性配置Azure VPN网关,把你的本地网络和Azure虚拟网络打通,这样两台设备就处于同一逻辑网络里,直接用Windows文件共享、PowerShell的Copy-Item命令或者Robocopy都能传,和局域网内操作没区别,一次配置长期省心。
小贴士:那篇老旧的PowerShell教程早就过时了,现在Azure官方提供的工具和服务已经把跨网传输简化了很多,上面这几个方案都比它高效得多。
内容的提问来源于stack exchange,提问作者helpME1986
相关产品推荐
相关产品推荐

