我需要通过其特定标签找到我删除的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"}