SecretValueText возвращает нулевое значение в Powershell

#azure #powershell #key-value

Вопрос:

Я хочу получить секретное значение из хранилища ключей в тексте с помощью powershell. Для достижения этой цели я использую:

(Get-AzKeyVaultSecret -VaultName 'vault_name' -Name 'secret_name').SecretValueText

Но по какой-то причине это возвращает нулевое значение. Что я делаю не так и как это преодолеть?

Ответ №1:

Вы можете использовать приведенный ниже командлет для извлечения секрета хранилища ключей из PowerShell, как указано в документации Azure.

 Get-AzKeyVaultSecret -VaultName <vaultName> -Name <secretName> -AsPlainText
 

Вот ссылочный скриншот :

введите описание изображения здесь

Комментарии:

1. Спасибо, я уже нашел другой способ сделать это, но ваш подход еще проще, чем то, что я реализовал.

Ответ №2:

Я нашел способ преобразовать секретное значение в обычный текст с помощью Powershell, который сработал для меня:

 $fetch=(Get-AzKeyVaultSecret -VaultName 'vault_name' -Name 'secret_name')
$value=$fetch.SecretValue
$BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($value)            
$PlainPassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)            
Write-Host $PlainPassword