获取AAD组的SubjectDescriptor

时间:2020-08-18 23:34:03

标签: rest azure-devops

我正在尝试将一个AAD组添加到Azure DevOps项目团队。研究表明,可以通过以下REST URL完成此操作:

PUT https://vssps.dev.azure.com/{organization}/_apis/graph/memberships/{subjectDescriptor}/{containerDescriptor}?api-version=6.0-preview.1

我可以为团队获取containerDescriptor。但是我有一个问题是如何检索要在上述URL中使用的AAD组subjectDescriptor?它以“ aadgp”开头。

预先感谢, 杰克

2 个答案:

答案 0 :(得分:0)

您可以尝试使用Groups - List API

GET https://vssps.dev.azure.com/{organization}/_apis/graph/groups?api-version=6.0-preview.1

它获得当前范围内的所有组的列表(通常是组织或帐户)。

可选参数用于过滤返回的结果。返回的结果没有确定的顺序。

由于组列表可能很大,因此结果将在组页面中返回。如果结果多于单个页面无法返回的结果,则结果集将包含用于检索下一组结果的延续令牌。

如果上述方法不起作用,则还可以使用Web门户将AAD添加到Azure DevOps组/团队,然后使用F12跟踪网络会话并检查API详细信息。

enter image description here

答案 1 :(得分:0)

好..让它正常工作

分别获取Azure DevOps组的组描述符,然后在下面使用它

$groupDescriptor = "vssgp.blahblahblah"
$uriAddGroupToTeam = "https://vssps.dev.azure.com/$($OrganizationName)/_apis/graph/groups?groupDescriptors=$($groupDescriptor)&api-version=6.0-preview.1"
$groupConfig = @{"originId"= "{Get Group GUID from AAD"} | ConvertTo-Json -Depth 5
Invoke-RestMethod -Uri $uriAddGroupToTeam -Method Post -Headers $AzureDevOpsAuthenicationHeader -Body $groupConfig -ContentType "application/json"

谢谢 杰克。