Reputation: 4318
I know that you could get the plain text for a specific secret in azure key vault with a command like this:
$a = Get-AzureKeyVaultSecret -VaultName MyKeyVaultName -Name "SecretName"
$a.SecretValueText
But is it possible to list all secrets and the plain text value? This just shows a blank string for the secret value:
Get-AzureKeyVaultSecret -VaultName MyKeyVaultName | Select-Object Name,SecretValueText
Upvotes: 4
Views: 8794
Reputation: 1386
Below snippet lists Secret Name and its value in plain text.
$kv_secrets = Get-AzKeyVaultSecret -VaultName fer-mpca-p-000
foreach ($sec in $kv_secrets) {
$secret_name = $sec.Name
$secret_value = $(Get-AzKeyVaultSecret -VaultName $sec.VaultName -Name $sec.Name -AsPlainText)
Write-Host "$($secret_name) | $($secret_value)"
}
Upvotes: 0
Reputation: 163
You have to use this commands en powershell.
$secrets=Get-AzKeyVaultSecret -VaultName 'vaultName'
$secrets | % {Write-Output "$($_.name) | $(Get-AzKeyVaultSecret -VaultName $_.VaultName -Name $_.Name -AsPlainText)"}
Upvotes: 1
Reputation: 339
With a newer version of Az modules.
To see both a name and value for each secret stored in the Azure KeyVault, you can try this out:
$secrets=Get-AzKeyVaultSecret -VaultName 'vaultName'
$secrets | % {Write-Output "$($_.name) $($(Get-AzKeyVaultSecret -VaultName $_.VaultName -Name $_.Name).SecretValueText)" }
Upvotes: 0
Reputation: 72171
You just need to create a loop around secrets:
$q = Get-AzureKeyVaultSecret -VaultName 'xxx'
$q.foreach{ Get-AzureKeyVaultSecret -VaultName $_.VaultName -Name $_.Name }.SecretValueText
Upvotes: 9