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

如何在Azure DevOps Server 2020中列出TFVC特定文件夹权限

审计Azure DevOps Server 2020中TFVC特定文件夹的权限

方法一:使用tfssecurity命令行工具

核心操作步骤

1. 定位命令工具

tfssecurity.exe默认路径为C:\Program Files\Azure DevOps Server 2020\Tools\,可直接切换到该目录执行命令,或把路径加入系统环境变量。

2. 查询指定项目下的文件夹权限

通过指定项目名称和文件夹路径,精准限定审计范围:

tfssecurity /a /tf "$/项目名称/目标文件夹路径" /server:http://你的服务器地址:8080/tfs/集合名称

参数说明:

  • /a:展示所有权限条目
  • /tf:指定操作TFVC安全命名空间
  • "$/项目名称/目标文件夹路径":明确要审计的TFVC文件夹路径,通过项目名称限定范围
  • /server:填写Azure DevOps Server的完整地址(包含集合)

3. 生成本地报告

将命令输出重定向到文本文件,留存审计结果:

tfssecurity /a /tf "$/项目名称/目标文件夹路径" /server:http://你的服务器地址:8080/tfs/集合名称 > TFVC权限审计报告.txt

方法二:使用Azure DevOps Security REST API

关键操作步骤

1. 确定TFVC命名空间ID

TFVC的安全命名空间固定ID为2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87,全版本通用。

2. 构造请求URL

通过token参数限定项目和文件夹,路径中的/需转义为%2F:

GET http://你的服务器地址:8080/tfs/集合名称/_apis/security/permissions/2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87?token=$PROJECT:项目名称%2F目标文件夹路径&api-version=6.0

3. 身份认证

使用Windows默认凭据或Personal Access Token(PAT)完成请求认证,确保有权限访问安全数据。

4. 解析并导出报告

用脚本解析返回的JSON数据,生成结构化报告。以下是PowerShell示例:

$serverUrl = "http://你的服务器地址:8080/tfs/集合名称"
$projectName = "你的项目名称"
$folderPath = "目标文件夹路径"
$namespaceId = "2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87"
$token = "$PROJECT:$projectName/$folderPath"
$encodedToken = [Uri]::EscapeDataString($token)
$apiUrl = "$serverUrl/_apis/security/permissions/$namespaceId?token=$encodedToken&api-version=6.0"

# 使用Windows凭据发起请求
$response = Invoke-RestMethod -Uri $apiUrl -UseDefaultCredentials

# 提取关键权限信息并导出为CSV
$permissions = $response.value | Select-Object identityDisplayName, allow, deny, permissionDisplayName
$permissions | Export-Csv -Path "TFVC权限审计报告.csv" -NoTypeInformation

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 11:40:31