如何从PowerShell以编程方式列出VSTS代理池?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从PowerShell以编程方式列出VSTS代理池?相关的知识,希望对你有一定的参考价值。

我想连接到VSTS并获取代理池列表。我想枚举代理池,然后删除VSTS服务器上的代理。我在VSTS API参考中找不到任何有关如何执行此操作的文档。

我正在这样连接到VSTS以列出项目,但是如何列出代理池?

$User = 'mark.allison@domain.com'
$PersonalAccessToken = '{PAT_TOKEN}'
$base64authinfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f  $User, $PersonalAccessToken)))
$vstsAccount = "{VSTS_ACCOUNT}"

# projects
$resource = 'projects'
$uri = "https://sabinio.visualstudio.com/DefaultCollection/_apis/$($resource)?api-version=3.0"
$projects = Invoke-RestMethod -Method Get -ContentType application/json -Uri $Uri -Headers @{Authorization=("Basic {0}" -f $base64authinfo)}
答案

我在官方文件中也没有找到任何相关内容。 但是通过检查网络流量,我发现了以下内容:https://xyz.visualstudio.com/_apis/distributedtask/pools/是如何获取代理池的。 因此,通过GET请求,您将获得代理池列表,其中包括名称,ID和更多属性。如果您向该URL发送DELETE请求以及要删除的池的ID,则将删除该请求。 如果首先要获取代理程序池的代理程序,则执行GET操作: https://xyz.visualstudio.com/_apis/distributedtask/pools/POOLID/agents 然后再次获得列出的名称,ID等的代理。 要删除该代理,请向https://xyz.visualstudio.com/_apis/distributedtask/pools/POOLID/agents/AGENTID发送DELETE请求

因此,在PowerShell脚本中,您也不需要获取“项目特定”的任何内容,因为AgentPools和代理可用于集合的所有项目。

希望有所帮助

以上是关于如何从PowerShell以编程方式列出VSTS代理池?的主要内容,如果未能解决你的问题,请参考以下文章

用于访问项目队列的 VSTS API?

以编程方式检索源文件夹列表并创建一个(如果不存在) - C# + VSTS 2017

如何从 VSTS 执行 Octo.exe?

如何以编程方式列出解决方案中的所有项目?

如何使用 PowerShell 以编程方式弹出锁定的 HDD eSATA 驱动器?

如何使用 powershell 以编程方式查找用户 HKEY_USERS 注册表项?