VSTS Powershell秘密变量

时间:2017-03-27 12:56:25

标签: powershell azure-pipelines azure-pipelines-release-pipeline azure-devops-rest-api

如何在我的版本定义中的powershell脚本中使用秘密变量?

我遇到了this,但它不起作用。新代理上不存在目录"$($env:AGENT_HOMEDIRECTORY)\agent\worker\Modules"

在新主机上访问秘密变量的正确方法是什么?我的代理版本是2.114.0。

2 个答案:

答案 0 :(得分:7)

design,您必须通过PowerShell参数传递secret变量的值。

例如:

变量:password (secret)

任务:PowerShell

参数:-pass $(password)

脚本:

Param(
 [String]$pass
)
if ($pass) { Write-Host "variable is NOT null" }
if (!$pass) { Write-Host "variable is null" }

答案 1 :(得分:2)

您现在无需任何参数即可实现此目标,请参见下面的脚本

enter image description here

Write-Host "Client Id " $env:client_id;

Write-Host "Client Secret" $(client_secret)

$applicationId = $env:client_id;
$clientsec = "$(client_secret)" | ConvertTo-SecureString -AsPlainText -Force

$credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $applicationId, $clientsec