Azure Dev Ops REST Api从服务器2019或5.0(对于Unix计算机)获取Agent.MachineName或ComputerName

fjaof16o  于 2022-10-17  发布在  Unix
关注(0)|答案(1)|浏览(97)

我正在尝试获取代理及其正在运行的计算机的列表。我已经成功地使用了代理包含功能选项,并获取了所有其他计算机的名称

$org/_apis/distributedtask/pools/$PoolId/agents?includeCapabilities=true&api-version=5.0 
$results = Invoke-RestMethod -Method Get -uri $url -Headers $headers

(我正在使用PowerShell调用API)然而,我遇到了一个问题,其中Unix机器没有返回Agent.ComputerNames。这些名字确实会出现在Azure Dev Ops中,所以我知道他们是存在的。
我遇到了获取预设变量Agent.MachineName的想法,但我找不到任何有关从REST API访问预设变量的文档。(定义为可以访问的变量列表,所以我觉得奇怪的是,您似乎无法获取它们。)
谢谢您抽时间见我!

afdcj2ne

afdcj2ne1#

我发现Unix服务器在系统能力下提供了一个名称,而其他服务器提供了一个COMPUTERNAME。我有这个问题,因为我只是在找计算机名。我发现最好抓紧
Agent.systemCapabilities.Agent.ComputerName属性。在PowerShell中

$agent.systemCapabilities."Agent.ComputerName"

引号很重要,可以告诉PowerShell它是一个单一的字符串,而不是嵌套得更远。

相关问题