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

是否有可获取Azure存储库安全组的Powershell命令?

实现方法说明

可以通过Azure官方提供的Az.Repos PowerShell模块实现需求,步骤如下:

前置依赖

  • 首先安装所需PowerShell模块
    Install-Module -Name Az.Repos -AllowClobber -Scope CurrentUser
    
  • 登录到你的Azure账户,并指定默认的DevOps组织、项目
    # 登录Azure
    Connect-AzAccount
    # 配置默认DevOps上下文,替换尖括号内的内容为你的实际信息
    $org = "https://dev.azure.com/你的组织名称"
    $projectName = "你的项目名称"
    az devops configure --defaults organization=$org project=$projectName
    

完整查询脚本

# 初始化结果数组
$result = @()

# 获取项目下所有Git存储库
$repos = Get-AzDevOpsGitRepository -ProjectName $projectName

# 遍历每个存储库,查询关联安全组
foreach ($repo in $repos) {
    # 获取当前存储库的所有权限分配
    $permissions = Get-AzDevOpsGitRepositoryPermission -ProjectName $projectName -RepositoryId $repo.Id
    
    # 筛选出主体类型为安全组的条目,去重
    $securityGroups = $permissions | Where-Object {$_.PrincipalType -eq "Group"} | Select-Object -ExpandProperty PrincipalName -Unique

    # 组装结果
    $result += [PSCustomObject]@{
        存储库名称 = $repo.Name
        关联安全组 = $securityGroups -join ";"
    }
}

# 输出完整清单
$result | Format-Table -AutoSize

# 如需导出到CSV可以使用以下命令
# $result | Export-Csv -Path "Repo安全组清单.csv" -Encoding UTF8 -NoTypeInformation
结果说明
  • 输出内容包含项目下所有Azure Repos存储库的名称,以及每个存储库关联的所有安全组,包含继承自项目级的全局安全组和存储库单独配置的专属安全组
  • 如需仅查询存储库单独配置的安全组,可以在Get-AzDevOpsGitRepositoryPermission命令后添加参数-ExcludeInheritedPermissions

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 20:48:02