【发布时间】:2016-07-01 19:38:26
【问题描述】:
我正在使用 Azure PowerShell Runbook 在 Azure 虚拟机上执行 PowerShell 脚本。当我使用 Azure 资源管理器功能时,我找不到获取远程脚本输出的方法,我必须将其用于我的部署。有很多使用“非资源管理器”方式的示例,如下所示:
# Execute remote script
$Vm = Get-AzureVM -ServiceName "DSCDemo" -Name "DSCPull"
Set-AzureVMCustomScriptExtension -ContainerName scripts -StorageAccountName psmag -FileName user.ps1 -Run user.ps1 -VM $vm | Update-AzureVM -Verbose
# Get output
$vm = Get-AzureVM -ServiceName DSCDemo -Name DSCPull
$output = $Vm.ResourceExtensionStatusList.ExtensionSettingStatus
然后 $output 变量包含已执行脚本的标准和错误输出。对于我的资源管理器版本,相同的代码看起来非常相似:
# Execute remote script
$vm = Get-AzureRmVM -Name "DSCPull" -ResourceGroupName $ResourceGroupName
$result = Set-AzureRmVMCustomScriptExtension -ResourceGroupName $ResourceGroupName `
-VMName "DSCPull" `
-Name 'user' `
-Location $vm.Location `
-StorageAccountName psmag `
-StorageAccountKey '<key>' `
-FileName "user.ps1" `
-ContainerName "scripts" `
-RunFile "user.ps1"
$output = Get-AzureRmVM -Name $VMName -ResourceGroupName $ResourceGroupName -Status
但输出完全不同,我确实找到了包含标准输出或错误输出的任何内容。
如何借助 Azure 资源管理器功能检索输出?
【问题讨论】:
标签: powershell azure azure-resource-manager resourcemanager