Azure Cloud Shell Always Returns Null 对于 $keyVault = Get-AzKeyVault -VaultName $keyVaultName -ResourceGroupName $rgName 命令

Azure Cloud Shell Always Returns Null For $keyVault = Get-AzKeyVault -VaultName $keyVaultName -ResourceGroupName $rgName Command

我正在 运行 下面的命令在我的 Azure Cloud Shell 实例中获取我的 KeyVault 实例。但是相同的总是空的。

$keyVaultName = "az203vmencryptdisk"
$rgName = "az203"
$vmName = "az203"
$keyVault = Get-AzKeyVault -VaultName $keyVaultName -ResourceGroupName $rgName
$diskEncryptionKeyVaultUrl = $keyVault.VaultUri

因为$diskEncryptionKeyVaultUrl的值一直是null,所以无法继续。有人遇到过这个问题吗?

我终于自己弄明白了这个问题。我的帐户有两个订阅。我知道要 运行 Azure 门户中的云 Shell,我们需要一个相关的存储帐户,我在我的其他订阅中有这样的存储帐户。

所以我的假设是 Azure 将此存储帐户用于我的所有订阅,以避免针对同一类型的元数据为多个订阅使用多个存储帐户。

问题是 Azure 门户不够智能,无法找到我当前使用的订阅,至少它可能是一个错误。因此,我所要做的就是将上下文设置为我拥有 KeyVault 的订阅。

Set-AzureRmContext -Subscription "subscriptionid"

然后我运行前面的命令。

$keyVaultName = "az203vmencryptdisk"
$rgName = "az203"
$vmName = "az203"
$keyVault = Get-AzKeyVault -VaultName $keyVaultName -ResourceGroupName $rgName
$diskEncryptionKeyVaultUrl = $keyVault.VaultUri

我能够得到我正在寻找的输出。

希望对您有所帮助。