我有这个PS脚本,我正在尝试获取Azure订阅中所有密钥保管库的用户访问信息。
所以我现在得到的是所有的密钥库信息;名称、位置、id、不同设置、网络规则,然后是每个有访问权限的用户的访问策略。是否有一种方法可以剥离此输出,只获取vault名称和访问策略?
$resourceGroup = $_
#Gets the key vaults for this resource group
$keyVaults = Get-AzKeyVault -ResourceGroupName $resourceGroup
If ($keyVaults) {
Write-Host 'Resource Group : ' $resourceGroup
write-host "`n"
# Goes through the key vaults for this resource group and shows us the information for each
Foreach ($keyVault in $keyVaults) {
Get-AzKeyVault -VaultName $keyVault.VaultName
write-host "`n"
}
}
}
您可以使用Select Object(别名Select(来缩小对象的返回属性。属性AccessPolicies
返回与每个访问策略相关联的Tenant ID
值。属性AccessPoliciesText
返回策略的文本。
Get-AzKeyVault -VaultName $keyVault.VaultName | Select VaultName,AccessPolicies
Get-AzKeyVault -VaultName $keyVault.VaultName | Select VaultName,AccessPoliciesText
请注意,由于您只选择了两个属性,因此默认的格式化输出将是表视图。AccessPoliciesText
可能会在表视图中被截断。您可以(仅用于显示目的(使用列表格式显示所有内容:
Get-AzKeyVault -VaultName $keyVault.VaultName |
Select VaultName,AccessPoliciesText | Format-List
请注意,如果您计划将输出存储到一个变量中以便稍后处理,请不要使用Format-List
,直到您需要在控制台上显示其值