Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取与特定生成定义[Azure Devops]关联的所有安全组和用户_Azure_Powershell_Azure Devops_Azure Devops Rest Api - Fatal编程技术网

获取与特定生成定义[Azure Devops]关联的所有安全组和用户

获取与特定生成定义[Azure Devops]关联的所有安全组和用户,azure,powershell,azure-devops,azure-devops-rest-api,Azure,Powershell,Azure Devops,Azure Devops Rest Api,我已查阅了以下文件: 对于特定的构建定义,我希望能够通过code/powershell脚本获取与之关联的所有安全组和用户,并将其输出到json文件中 任何帮助都将不胜感激!我尝试过卷曲多个api,但没有得到我需要的 谢谢 有一个api未被记录。请尝试以下方法: POST https://dev.azure.com/{org name}/_apis/Contribution/HierarchyQuery/project/{project name}?api-version=5.0-preview

我已查阅了以下文件:

对于特定的构建定义,我希望能够通过code/powershell脚本获取与之关联的所有安全组和用户,并将其输出到json文件中

任何帮助都将不胜感激!我尝试过卷曲多个api,但没有得到我需要的


谢谢

有一个api未被记录。请尝试以下方法:

POST https://dev.azure.com/{org name}/_apis/Contribution/HierarchyQuery/project/{project name}?api-version=5.0-preview.1
请求正文:

{
  "contributionIds": [
    "ms.vss-admin-web.security-view-members-data-provider"
  ],
  "dataProviderContext": {
    "properties": {
      "permissionSetId": "33344d9c-fc72-4d6f-aba5-fa317101a7e9",
      "permissionSetToken": "{token}",
      "sourcePage": {
        "url": "https://dev.azure.com/{org name}/{project name}/_build?definitionId={build definition id}&_a=summary",
        "routeId": "ms.vss-build-web.pipeline-details-route",
        "routeValues": {
          "project": "{project name}",
          "viewname": "details",
          "controller": "ContributedPage",
          "action": "Execute",
          "serviceHost": "{org name}"
        }
      }
    }
  }
}
一些关键点您应该注意:

  • permissionSetId
    :这里是
    33344d9c-fc72-4d6f-aba5-fa317101a7e9
    一个固定值,表示生成安全性的
    名称空间ID

  • permissionSetToken
    :这是可用于获取 安全信息。您可以在下面运行以获取您需要的令牌 应该使用

    az-devops安全权限列表--id
    33344d9c-fc72-4d6f-aba5-fa317101a7e9——主题{您的账户}
    --输出表--组织https://dev.azure.com/{org name}--项目{project name}

  • url
    :这里的
    url
    值用于告诉系统哪个特定 要检查的构建。只需替换相应的
    org即可
    名称
    /
    项目名称
    /
    定义id
    输入提供的URL示例


此外,我还为您编写了一个shot powershell脚本:

$token = "{token}"

$url="https://dev.azure.com/{org name}/_apis/Contribution/HierarchyQuery/project/{project name}?api-version=5.0-preview.1"

$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))

$context=@"
{
  "contributionIds": [
    "ms.vss-admin-web.security-view-members-data-provider"
  ],
  "dataProviderContext": {
    "properties": {
      "permissionSetId": "33344d9c-fc72-4d6f-aba5-fa317101a7e9",
      "permissionSetToken": "{token}",
      "sourcePage": {
        "url": "https://dev.azure.com/{org name}/{project name}/_build?definitionId={build definition id}&_a=summary",
        "routeId": "ms.vss-build-web.pipeline-details-route",
        "routeValues": {
          "project": "{project name}",
          "viewname": "details",
          "controller": "ContributedPage",
          "action": "Execute",
          "serviceHost": "{org name}"
        }
      }
    }
  }
}
"@

$response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Post -Body $context -ContentType "application/json"

Write-Host "results = $($response.dataProviders.'ms.vss-admin-web.security-view-members-data-provider'.identities.displayname| ConvertTo-Json -Depth 100)"