PEK
PEK

Reputation: 4318

List all secrets with plain text from a key vault

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

Answers (4)

RSW
RSW

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

Vodo-Siosk Baas
Vodo-Siosk Baas

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

Patryk
Patryk

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

4c74356b41
4c74356b41

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

Related Questions