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

如何自动续期本地Azure DevOps实例的PAT?

本地Azure DevOps实例PAT自动续期方案

本地Azure DevOps Server(原TFS)没有直接的PAT续期API,通常通过创建新PAT替换即将过期的旧PAT来实现自动续期,以下是具体操作方案:

利用REST API实现自动化替换

  1. 准备前提

    • 拥有一个具备权限的PAT:需要有查看和管理个人访问令牌的权限(可在项目集合设置的用户权限中配置),用于调用API创建新PAT。
  2. API调用步骤

    • 获取当前用户ID:
      调用GET http://{你的服务器地址}:8080/tfs/_apis/identity/me?api-version={对应版本号}
      (版本号对应你的服务器版本:2022用7.0,2020用6.0,可根据实际调整)
    • 创建新PAT:
      调用POST http://{你的服务器地址}:8080/tfs/_apis/tokens/pats?api-version={对应版本号},请求体示例:
      {
        "displayName": "自动续期PAT",
        "scope": "vso.build_execute vso.code_full", // 按需设置权限范围
        "validTo": "2025-12-31T23:59:59Z" // 设置新的过期时间
      }
      
  3. PowerShell自动化脚本示例

    # 配置参数
    $serverUrl = "http://你的DevOps服务器地址:8080/tfs"
    $adminPAT = "你的权限PAT"
    $newPATName = "自动续期_PAT"
    $expireTime = (Get-Date).AddYears(1).ToString("yyyy-MM-ddTHH:mm:ssZ")
    $permissionScope = "vso.build_execute vso.code_full"
    
    # 构造请求头
    $headers = @{Authorization = "Basic " + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$adminPAT"))}
    
    # 获取当前用户ID
    $userInfo = Invoke-RestMethod -Uri "$serverUrl/_apis/identity/me?api-version=6.0" -Headers $headers -Method Get
    $userId = $userInfo.id
    
    # 创建新PAT
    $requestBody = @{
      displayName = $newPATName
      scope = $permissionScope
      validTo = $expireTime
    } | ConvertTo-Json
    
    $newPATResult = Invoke-RestMethod -Uri "$serverUrl/_apis/tokens/pats?api-version=6.0" -Headers $headers -Method Post -Body $requestBody -ContentType "application/json"
    $newPAT = $newPATResult.token
    
    # 后续可添加逻辑,将新PAT替换到CI/CD、脚本等使用旧PAT的场景
    Write-Host "新生成的自动续期PAT:$newPAT"
    

简化方案:创建长期有效PAT

如果安全策略允许,直接创建有效期极长的PAT(如10年),减少续期操作。但需注意:这种方式会增加安全风险,需配合严格的权限限制和PAT使用监控。

权限说明

  • 用于自动化的PAT必须拥有Token Management权限,否则无法调用PAT创建API。
  • 若为其他用户续期PAT,需拥有项目集合管理员级别的权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 10:26:02