I'm attempting to run the following script as part of a DevOps pipeline to retrieve access policies from a Keyvault however it fails on the following command:
$keyVaultAccessPolicies = (Get-AzureRMKeyVault -VaultName $keyVaultName).accessPolicies
The error is: InvalidOperation: (:) [Get-AzureRmKeyVault], PSInvalidOperationException
Any help much appreciated.
Thanks
Full script is as follows:
param(
[string][parameter(Mandatory = $true)] $keyVaultName
)
$keyVaultAccessPolicies = (Get-AzureRMKeyVault -VaultName $keyVaultName).accessPolicies
$armAccessPolicies = @()
if($keyVaultAccessPolicies)
{
foreach($keyVaultAccessPolicy in $keyVaultAccessPolicies)
{
$armAccessPolicy = [pscustomobject]@{
tenantId = $keyVaultAccessPolicy.TenantId
objectId = $keyVaultAccessPolicy.ObjectId
}
$armAccessPolicyPermissions = [pscustomobject]@{
keys = $keyVaultAccessPolicy.PermissionsToKeys
secrets = $keyVaultAccessPolicy.PermissionsToSecrets
certificates = $keyVaultAccessPolicy.PermissionsToCertificates
storage = $keyVaultAccessPolicy.PermissionsToStorage
}
$armAccessPolicy | Add-Member -MemberType NoteProperty -Name permissions -Value $armAccessPolicyPermissions
$armAccessPolicies += $armAccessPolicy
}
}
$armAccessPoliciesParameter = [pscustomobject]@{
list = $armAccessPolicies
}
$armAccessPoliciesParameter = $armAccessPoliciesParameter | ConvertTo-Json -Depth 5 -Compress
Write-Host ("##vso[task.setvariable variable=Infra.KeyVault.AccessPolicies;]$armAccessPoliciesParameter")