有没有办法通过标签找到已删除的密钥保管库



我需要通过其特定标签找到我删除的KeyVaultname(通过softdelete(。

这是我需要找到的钥匙库:

KeyVault处于删除状态

不幸的是,通过以下cmd查找密钥保管库标记的命令不适用于处于已删除状态的密钥保管库。(当KeyVault未被移除时,它起作用(

(Get-AzKeyvault -InRemovedState -tag @{"RemovalDate" = "14-04-2022"})

给出以下错误:

Get-AzKeyVault : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:2
+ (Get-AzKeyvault -InRemovedState -tag @{"RemovalDate" = "14-04-2022"})
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [Get-AzKeyVault], ParameterBindingException
+ FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.Azure.Commands.KeyVault.GetAzureKeyVault

我也试过了:

(Get-AzKeyvault -InRemovedState | Where-Object {$_.Tag["RemovalDate"] -eq "14-04-2022"})

这会产生以下错误:

Cannot index into a null array.
At line:1 char:49
+ ... RemovedState | Where-Object {$_.Tag['RemovalDate'] -eq '14-04-2022'})
+                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : NullArray

非常感谢你的帮助!

您很接近,只需要管道传输Get-AzKeyVault的结果,然后像查询其他对象一样查询它。

首先,找出返回的对象类型。

Get-AzKeyVault -InRemovedState | get-member

这将显示列名和对象类型。现在适当地编写您的查询。

Get-AzKeyVault -InRemovedState | 
select VaultName, Tags |
where {$_.Tags["RemovalDate"] -eq "14-04-2022"}

最新更新