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

通过API或脚本移除Azure DevOps组织的直接访问权限

批量移除Azure DevOps组织中用户的直接访问权限

解决思路

通过Azure DevOps REST API结合PowerShell脚本批量处理,绕过UI的100条限制,精准移除用户的直接访问权限(保留组分配的权限,确保组规则优先生效)。


步骤1:准备工作

  • 创建一个拥有**组织级用户管理(读/写)**权限的个人访问令牌(PAT)
  • 确保本地PowerShell可以访问Azure DevOps API(无需额外模块,直接用Invoke-RestMethod即可)

步骤2:PowerShell脚本批量移除直接访问权限

以下脚本会自动分页获取所有用户,筛选出直接分配访问级别的用户,然后批量移除其直接权限:

# 配置变量
$orgName = "你的组织名称"
$pat = "你的PAT令牌"
$apiVersion = "7.1-preview.3"

# 构建请求头
$headers = @{
    Authorization = "Basic " + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$pat"))
}

# 分页获取所有用户权限信息
$allEntitlements = @()
$continuationToken = $null
$baseUrl = "https://vsaex.dev.azure.com/$orgName/_apis/userentitlements?api-version=$apiVersion"

do {
    $requestUrl = $baseUrl
    if ($continuationToken) {
        $requestUrl += "&continuationToken=$continuationToken"
    }
    $response = Invoke-RestMethod -Uri $requestUrl -Headers $headers -Method Get
    $allEntitlements += $response.value
    $continuationToken = $response.continuationToken
} while ($continuationToken)

# 筛选出直接分配访问级别的用户(排除通过组分配的)
$directAccessUsers = $allEntitlements | Where-Object { $_.accessLevel.source -eq "Direct" }

# 批量构建移除操作请求体
$batchOperations = $directAccessUsers | ForEach-Object {
    @{
        op = "remove"
        subjectDescriptor = $_.user.descriptor
    }
}

$batchBody = @{ operations = $batchOperations } | ConvertTo-Json -Depth 10

# 执行批量移除
$batchUrl = "https://vsaex.dev.azure.com/$orgName/_apis/userentitlements/batch?api-version=$apiVersion"
Invoke-RestMethod -Uri $batchUrl -Headers $headers -Method Post -Body $batchBody -ContentType "application/json"

步骤3:解决新用户自动获Stakeholder权限的问题

要彻底避免项目管理员添加用户时自动分配直接访问权限,需修改组织默认访问级别:

  • 进入Azure DevOps组织设置 → 用户 → 访问级别
  • 找到默认访问级别,设置为「无访问权限」
  • 此后,新添加到项目的用户只会加入项目组,访问级别完全由组规则控制,不会自动获得直接的Stakeholder权限

注意事项

  • 执行脚本前,建议先筛选少量用户测试(比如加| Select-Object -First 10),验证是否仅移除直接权限、组权限是否保留
  • PAT权限必须足够,否则会出现API调用失败
  • 若用户同时拥有直接访问和组访问,移除直接权限后,会自动继承组分配的访问级别

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 05:58:25