You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过pwsh脚本更新Azure Pipeline服务连接的SSH访问密码

Azure Pipeline SSH服务连接密码脚本修改方案

是可以通过Bash或PowerShell脚本批量修改SSH类型服务连接密码的,具体操作步骤如下:

前置准备

  • 安装Azure CLI,并添加Azure DevOps扩展:az extension add --name azure-devops
  • 确保操作账号拥有目标Azure DevOps项目的服务连接管理员权限,以及对应Key Vault的机密读取权限
  • 登录Azure DevOps组织:az devops login --organization https://dev.azure.com/你的组织名称

PowerShell操作步骤

  1. 从Azure Key Vault读取新生成的密码
$newSshPassword = az keyvault secret show --name "你的机密名称" --vault-name "你的Key Vault名称" --query "value" -o tsv
  1. 获取项目下所有SSH类型的服务连接列表
$sshConnList = az devops service-endpoint list --project "你的项目名称" --query "[?type=='ssh'].{id:id, name:name, authorization:authorization}" -o json | ConvertFrom-Json
  1. 遍历更新所有匹配服务连接的密码字段
foreach ($conn in $sshConnList) {
    # 添加自定义名称过滤逻辑即可实现指定连接局部更新
    $conn.authorization.parameters.password = $newSshPassword
    $updateConfig = $conn | ConvertTo-Json -Depth 10
    az devops service-endpoint update --id $conn.id --project "你的项目名称" --service-endpoint-configuration $updateConfig
}

Bash操作步骤

Bash方案需要提前安装jq工具用于JSON字段编辑

  1. 从Azure Key Vault读取新生成的密码
newSshPassword=$(az keyvault secret show --name "你的机密名称" --vault-name "你的Key Vault名称" --query "value" -o tsv)
  1. 遍历更新所有SSH类型服务连接的密码
az devops service-endpoint list --project "你的项目名称" --query "[?type=='ssh'].id" -o tsv | while read connId; do
    # 获取当前连接的完整配置
    connConfig=$(az devops service-endpoint show --id $connId --project "你的项目名称" -o json)
    # 替换密码字段
    updatedConfig=$(echo "$connConfig" | jq --arg pwd "$newSshPassword" '.authorization.parameters.password = $pwd')
    # 提交更新
    az devops service-endpoint update --id $connId --project "你的项目名称" --service-endpoint-configuration "$updatedConfig"
done

注意事项

  • 操作前建议先导出现有服务连接配置备份,避免配置错误影响流水线正常运行
  • 更新完成后可手动触发测试流水线,验证SSH服务连接的连通性正常

内容的提问来源于stack exchange,提问作者Hank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 01:00:02