如何从Azure DevOps导出用户访问级别与对应用户项目名称?
Azure DevOps 导出用户对应项目名称操作指南
方法1:组织设置手动查询(适合少量用户匹配)
- 登录你的Azure DevOps组织,点击左下角的组织设置
- 在左侧导航栏「安全」分类下选择「用户」,找到你需要查询的目标用户
- 点击用户名称进入个人详情页,右侧「项目访问」板块会展示该用户加入的所有项目及对应角色权限
- 直接复制项目名称,和你已导出的访问级别表格通过用户名/邮箱匹配即可
方法2:Azure DevOps CLI 批量导出(适合全组织用户批量匹配)
该方法可以一次性导出所有用户的访问级别、所属项目列表,无需手动逐个查询,匹配效率更高:
- 首先安装Azure CLI和Azure DevOps扩展,执行安装命令:
az extension add --name azure-devops - 登录你的Azure DevOps组织,执行命令:
az devops login --org https://dev.azure.com/替换为你的组织名称,按提示输入具备用户读取权限的个人访问令牌(PAT)完成验证 - 执行以下PowerShell脚本即可批量导出匹配结果到本地CSV文件:
# 获取组织内所有用户的基础信息 $allUsers = az devops user list --org https://dev.azure.com/替换为你的组织名称 --query "[].{email:user.principalName, license:accessLevel.licenseDisplayName}" -o json | ConvertFrom-Json # 遍历查询每个用户的所属项目 foreach ($user in $allUsers) { $relatedProjects = az devops user show --user $user.email --org https://dev.azure.com/替换为你的组织名称 --query "projectEntities[].name" -o tsv [PSCustomObject]@{ 用户邮箱 = $user.email 访问级别 = $user.license 所属项目 = $relatedProjects -join ";" } | Export-Csv -Path "./AzureDevOps用户项目匹配表.csv" -Append -NoTypeInformation -Encoding UTF8 }
- 导出的CSV文件可直接与你之前导出的访问级别表通过用户邮箱字段关联,快速合并所有需要的字段
注意事项
- 生成个人访问令牌(PAT)时,需要勾选「用户管理」「项目和团队」的读取权限,否则会出现查询报错
- 若组织内用户和项目数量较多,批量导出耗时会更长,建议避开业务高峰时段操作
内容的提问来源于stack exchange,提问作者Rishabh Kumar
相关产品推荐
相关产品推荐

