Powershell Access Azure DevOps Секретные переменные - PullRequest
1 голос
/ 27 июня 2019

Я пытаюсь прочитать секретную переменную Azure DevOps из сценария конвейера Powershell. В Azure переменная выглядит следующим образом:

enter image description here

Я пытался получить доступ к секретной переменной как param, например

[CmdletBinding()]
Param (
    $SecurePassword = $env:Password
)

и просто как переменная окружения, такая как

$SecurePassword = $env:Password

К сожалению, переменная продолжает появляться нулевой, используя любой из методов.

enter image description here

У меня нет проблем с доступом к несекретным переменным. Любая помощь будет принята с благодарностью.

---------------------------------------- РЕДАКТИРОВАТЬ ----------------------------------------

Я нашел документацию здесь о том, что секреты доступны для сценариев в конвейере, если они явно отображены в разделе среды задачи.

enter image description here

Я обновил задание Powershell и попытался отобразить переменную как $(Password) и Password, но безуспешно.

enter image description here

Отображение $(Password), как указано выше, показывает строку, скрытую за звездочками.

Using $(Password) returns

1 Ответ

0 голосов
/ 04 июля 2019

Почему бы просто не сохранить пароль в keyvault как секрет?тогда есть лазурные команды для доступа к секрету, и избегайте всего этого.Черт возьми, мы генерируем случайные пароли, храним их в хранилищах ключей, а затем обращаемся к содержимому в соответствующем ресурсе, без необходимости раскрывать расшифрованный секрет в команде powershell, как в шаблоне ARM для базы данных сервера SQL Azure.

Я знаю, что это не решает ваш первоначальный вопрос, но это обходной путь, который работает.

...