将文件从服务器复制到Azure Blob容器的Powershell脚本

时间:2019-04-12 01:54:30

标签: azure-devops azure-powershell powershell-remoting

我想将我的服务器(azure vm)中的所有文件复制到容器(azure blob存储)中,是否可以通过powershell进行? 我是Powershell的新手,请帮帮我 在任何脚本中,请共享

1 个答案:

答案 0 :(得分:0)

首先,请确保已在VM中以及要运行命令的位置安装了Az powershell模块。在我的示例中,我使用PC运行命令。

尝试将下面的脚本存储在PC中,我使用C:\Users\joyw\Desktop\script.ps1,该脚本将上传VM中文件夹C:\Users\xxxx\Desktop\test中的所有文件,您可以将其更改为所需的路径

script.ps1

$context = New-AzStorageContext -StorageAccountName "<StorageAccountName>" -StorageAccountKey "<StorageAccountKey>"
$files = (Get-ChildItem "C:\Users\xxxx\Desktop\test" -recurse).FullName
foreach($file in $files){
    Set-AzStorageBlobContent -Context $context -File "$file" -Container "<container name>" -Blob "$file" 
}

然后运行命令:

Connect-AzAccount
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -Name 'vmname' -CommandId 'RunPowerShellScript' -ScriptPath 'C:\Users\joyw\Desktop\script.ps1'

如果要以非交互方式登录,请参阅此link

将参数更改为所需的参数,将文件上传到容器后,它将看起来像原始文件结构。