首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >动态调用脚本中的Azure Devops变量

动态调用脚本中的Azure Devops变量
EN

Stack Overflow用户
提问于 2022-06-28 14:31:35
回答 1查看 493关注 0票数 1

我需要将变量组中的变量加载到一个天蓝色的密钥库中。为了能够关闭密钥库外部网络访问,我们不希望将变量组链接到密钥库。

因此,我开始开发一个powershell脚本,该脚本使用az cli devops扩展列出变量组变量,并将其存储到powershell var中。

然后,我对每个var进行迭代,并尝试以Azure格式$( var )构建var名称,这样我就可以将它与Set-AzKeyVaultSecret一起使用。

问题:似乎必须对Azure管道的变量名进行硬编码,才能将其转换为实际值。

示例:

代码语言:javascript
运行
复制
$pipelineVarEnc = [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("$('variablename')"))

不起作用:

代码语言:javascript
运行
复制
        $Name = $var.Name
        $command = '$pipelineVarEnc = [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("$(' + $Name + ')"))'
        Invoke-command $command

有人知道如何绕过这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-29 05:43:37

请参阅以下PowerShell脚本:

代码语言:javascript
运行
复制
$token = "PAT"

$url="https://dev.azure.com/{ORG}/{PROJECT}/_apis/distributedtask/variablegroups/{VariableGroupID}?api-version=6.0-preview.2"

$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))

$response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Get  -ContentType application/json


ForEach ($variable in $response.variables)

{
  #echo $variable

  
  $variablenames =  $variable | Get-Member | Where {$_.MemberType -like 'NoteProperty'} | Select-Object  -Property name

  ForEach ($name in $variablenames.name)
  {
     $varaiblename = $name

     $variablevalue =  $variable.$name.value

     echo  $varaiblename
     echo  $variablevalue

     $Secret = ConvertTo-SecureString -String '$variablevalue' -AsPlainText -Force
     Set-AzKeyVaultSecret -VaultName 'xx' -Name '$varaiblename' -SecretValue $Secret

  }
     
}

在PowerShell脚本中,它使用Rest:可变群- Get获取变量组中的所有变量。

我们可以修改响应格式以获得所有变量名。

最后,我们可以根据变量名得到变量值。

在这种情况下,我们可以在没有硬编码的情况下迭代所有变量名称和值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72788368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档