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

是否可通过编程方式(优先PowerShell)创建TFS 2018 Agent Pool?

用PowerShell编程创建TFS 2018代理池

当然可以实现!TFS 2018的REST API确实支持创建代理池,只是相关文档可能没那么显眼。下面我直接给你一个可运行的PowerShell方案,通过调用REST接口来完成创建操作。

前提准备

  • 你需要拥有项目集合管理员或者代理池管理员的权限
  • 生成一个TFS个人访问令牌(PAT),权限要勾选「Agent Pools」的「读写」权限

PowerShell实现脚本

# 定义基础参数
$tfsServerUrl = "http://your-tfs-server:8080/tfs/DefaultCollection" # 替换成你的TFS集合URL
$patToken = "your-personal-access-token" # 替换成你的PAT
$poolName = "New-Agent-Pool-Test" # 要创建的代理池名称
$poolDescription = "通过PowerShell脚本创建的测试代理池" # 代理池描述

# 构造认证头
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($patToken)"))
$headers = @{Authorization = "Basic $base64AuthInfo"}

# 构造请求体(JSON格式)
$requestBody = @{
    name = $poolName
    description = $poolDescription
    autoProvision = $true # 可选:是否自动将此池分配给新项目,默认true
} | ConvertTo-Json

# 调用REST API创建代理池
$apiUrl = "$tfsServerUrl/_apis/distributedtask/pools?api-version=4.1" # TFS2018对应API版本4.1
try {
    $response = Invoke-RestMethod -Uri $apiUrl -Method Post -Headers $headers -Body $requestBody -ContentType "application/json"
    Write-Host "代理池创建成功!池ID: $($response.id),池名称: $($response.name)"
} catch {
    Write-Host "创建失败,错误信息: $($_.Exception.Message)"
    if ($_.ErrorDetails.Message) {
        Write-Host "API返回错误: $($_.ErrorDetails.Message)"
    }
}

关键说明

  • API版本:TFS 2018对应的REST API版本是4.1,这个版本完全兼容代理池创建操作
  • 请求体参数:除了name和description,你还可以添加其他属性,比如isHosted(本地部署一般设为false,标识非托管池)、autoProvision(控制是否自动分配给新项目)等
  • 权限排查:如果运行时报权限错误,先检查你的PAT权限是否勾选正确,再确认当前账号是否拥有代理池的管理权限

运行脚本后,你可以登录TFS Web界面,进入「代理池」页面查看是否成功创建了新的池。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:52:41