我想将我的服务器(azure vm)中的所有文件复制到容器(azure blob存储)中,是否可以通过powershell进行? 我是Powershell的新手,请帮帮我 在任何脚本中,请共享
答案 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。
将参数更改为所需的参数,将文件上传到容器后,它将看起来像原始文件结构。