Azure powershell 失败并出现错误:使用 Get-AzRecoveryServicesVault cmdlet 时发生一个或多个错误

问题描述 投票:0回答:1

我正在尝试在 azure 自动化帐户 Runbook 测试窗格中执行 powershell 脚本。在我的 powershell 脚本中,我导入模块,使用托管标识连接自动化帐户,然后尝试使用 cmdlet“Get-AzRecoveryServicesVault”获取特定订阅的恢复服务保管库属性

Powershell 脚本:


Import-Module Az.Accounts
Import-Module Az.Resources
Import-Module Az.Compute
Import-Module Az.Automation
Import-Module Az.Storage
Import-Module Az.KeyVault
Import-Module Az.RecoveryServices

Connect-AzAccount -Identity

$context = Get-AzContext -ListAvailable
write-output "context" $context
Set-AzContext -Subscription "<<subscriptionID>>"
$vaultName = ""
$vaultResourcegroup = ""

$containerCtx = Get-AzRecoveryServicesVault -Name $vaultName -ResourceGroupName $vaultResourcegroup 

write-output "containerCtx" $containerCtx

根据上面的代码,这应该显示恢复服务保管库属性,因为我需要一个VaultId来获取容器列表。以下是我收到的错误。

错误:

发生一个或多个错误。

不确定这是否与托管身份的权限有关?

azure powershell azure-automation powershell-cmdlet
1个回答
0
投票

即使我一开始也遇到同样的错误:

enter image description here

然后将后台操作员角色授予恢复服务库的自动自动化帐户的托管身份:

enter image description here

后来我也在脚本中使用了该版本,它对我有用,如下所示(稍微修改了你的脚本):

Import-Module -Name Az.RecoveryServices -RequiredVersion 7.2
Connect-AzAccount -Identity
$vaultName = "stackdemo"
$vaultResourcegroup = "rgname"
$containerCtx = Get-AzRecoveryServicesVault -Name $vaultName -ResourceGroupName $vaultResourcegroup 
Write-output "containerCtx" $containerCtx

Output:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.