From 35669a7d22d04ac8a68f33cc989de60b521259cd Mon Sep 17 00:00:00 2001 From: Karl Fosaaen Date: Tue, 14 Feb 2023 14:30:32 -0800 Subject: [PATCH] Update Get-AzKeyVaultSecretsREST.ps1 Added fix for when "/providers/Microsoft.KeyVault/vaults" API only returns "nextLink" and no "value" response. --- REST/Get-AzKeyVaultSecretsREST.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/REST/Get-AzKeyVaultSecretsREST.ps1 b/REST/Get-AzKeyVaultSecretsREST.ps1 index c97fa84..80ef0d3 100644 --- a/REST/Get-AzKeyVaultSecretsREST.ps1 +++ b/REST/Get-AzKeyVaultSecretsREST.ps1 @@ -63,7 +63,7 @@ $responseKeys = ((Invoke-WebRequest -Uri (-join ('https://management.azure.com/subscriptions/',$SubscriptionId,"/providers/Microsoft.KeyVault/vaults?api-version=2019-09-01")) -Verbose:$false -Method GET -Headers @{ Authorization ="Bearer $managementToken"} -UseBasicParsing).Content | ConvertFrom-Json) # Keeping the second method of vault enumeration as a backup option - #$responseKeys = ((Invoke-WebRequest -Uri (-join ('https://management.azure.com/subscriptions/',$SubscriptionId,"/resources?`$filter=resourceType eq 'Microsoft.KeyVault/vaults'&api-version=2019-09-01")) -Verbose:$false -Method GET -Headers @{ Authorization ="Bearer $managementToken"} -UseBasicParsing).Content | ConvertFrom-Json) + if($null -eq ($responseKeys.value | ConvertFrom-Json)){$responseKeys = ((Invoke-WebRequest -Uri (-join ('https://management.azure.com/subscriptions/',$SubscriptionId,"/resources?`$filter=resourceType eq 'Microsoft.KeyVault/vaults'&api-version=2019-09-01")) -Verbose:$false -Method GET -Headers @{ Authorization ="Bearer $managementToken"} -UseBasicParsing).Content | ConvertFrom-Json)} if ($responseKeys.value -ne $null){$keyVaults = $responseKeys.value} else{$keyVaults = $null} @@ -79,7 +79,7 @@ try{ Write-Verbose "`tGetting Secrets for $vaultName" #Instantiate running list that we can add to - $secretsListAll = @() + $secretsListAll = @() $secretsList = ((Invoke-WebRequest -Uri (-join ('https://',$vault.name,'.vault.azure.net/secrets?api-version=7.0')) -Verbose:$false -Method GET -Headers @{ Authorization ="Bearer $vaultToken"} -UseBasicParsing).content | ConvertFrom-Json) $secretsListAll += $secretsList.value