我准备了一个脚本,用于在Azure中的Windows上执行.ps1脚本。 Powershell脚本存储在一个存储帐户中。脚本输出定向到Windows VM上的本地C:\驱动器。为了在VM上运行脚本,我正在使用“自定义脚本扩展”,请从下面的代码中提取。问题是,如何将Windows VM上output.csv
驱动器收到的C:\
复制到存储帐户?
##Storage Account credentials
$StorageAccountName = (Get-AutomationPSCredential -Name 'xxx').UserName
$StorageAccountKey = (Get-AutomationPSCredential -Name 'xxx').GetNetworkCredential().Password
$Context = New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey
$CSEName = ((Get-AzureRmVm -ResourceGroupName $ResourceGroup -Name $VM |
Where-Object {$_.Extensions.VirtualMachineExtensionType -eq "CustomScriptExtension"}).Extensions |
Where-Object {$_.VirtualMachineExtensionType -eq "CustomScriptExtension"}).Name
write-output "CSE Name: $CSEName"
Set-AzureRmVMCustomScriptExtension -ResourceGroupName $ResourceGroup `
-VMName $VM `
-FileName $psfilename `
-ContainerName $ContainerName `
-StorageAccountName $StorageAccountName `
-StorageAccountKey $StorageAccountKey `
-Run $psfilename `
-Location "North Europe"`
-Name $CSEName
$LogFilePath = "C:\Users\xxx\Desktop\Output.csv"
答案 0 :(得分:-1)
注意:我重新编辑了整个Ansewr
如果我正确理解您的脚本,则说明您正在使用该脚本供内部使用。 在这种情况下,解决方案非常简单。 当您获得了有关源和目标的所有信息后,只需要将它们连接到proper Blob to Copy。
下面是使用存储帐户访问密钥的示例:
$ResourceGroupName = "Resource-Group"
$storageAccountName = "Storge account"
#full path to the file
$localPath = "C:\test\vm01.5f9e0fc2-cf60-444f-9cba-61c6f66b6373.serialconsole.log"
#blob container name
$storageContainerName = "test"
#Blob name (the name of the file in after the transfer)
$BlobName = "destFileName.log"
#getting the SA Key
$SAkey = (Get-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -AccountName $storageAccountName).Value[0]
#getting Storage account context
$destinationContext = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $SAkey
#copy the file
Set-AzStorageBlobContent -File $localPath -Container $storageContainerName -Blob $BlobName -Context $destinationContext
如果您已连接到天蓝色,则脚本可以正常工作;如果不成功,则可以传递由$SAkey
插入的SAS URL,它也可以正常工作。
要运行它,只需在ps1脚本的末尾添加。