1

我遇到了一个问题,即使我的用户帐户位于Project Collection Admins组中,我也无法将用户添加到团队项目中的Project Administrators组。我还尝试使用属于管理控制台用户组的帐户,但没有成功。

权限不足错误

这只会影响一些团队项目。未修改开箱即用安全组的权限。

这在我们从 TFS2015 升级之前运行良好,所以我认为 TFS2017 中发生了一些变化。

有趣的是,我可以从项目管理员组中删除用户,只是不添加任何用户。

我注意到现在有一​​个安全服务组,它似乎包含所有其他安全组。我想知道这是否是导致权限冲突的原因,因为其中大多数是“未设置”。

安全服务组权限

任何建议将不胜感激。:)

4

1 回答 1

0

Rajesh Ramamurthy (MSFT) 已针对该问题提供了一个修复程序(在 Brian Harry 的博客上发表评论),该问题也应在即将发布的 TFS 2017 Update 1 版本中修复。

这是如何完成的:

  1. 在 TFS 配置数据库中运行以下 SQL:select LocalScopeId from tbl_Groupscope where PartitionId > 0 and ScopeType = 2 and Active = 1
  2. 结果应复制到服务器上的文件中,例如 C:\LocalScopeIdList.txt
  3. 在服务器上运行以下 power shell 脚本并根据需要更新前三个值。

第 3 步的脚本:

$url = "http://localhost:8080/tfs/defaultcollection"
$localScopeIdList = Get-Content C:\LocalScopeIdList.txt
$cmd = "C:\Program Files\Microsoft Team Foundation Server 15.0\Tools\TFSSecurity.exe"

$collection = "/collection:"+ $url
$permissions = "Read", "Write", "Delete", "ManageMembership", "CreateScope"

foreach($scopeId in $localScopeIdList) {
    foreach($permission in $permissions) {
        $token = $scopeId + "\"    

        $param =  @("/a+", "Identity", $token, $permission, "adm:", "ALLOW", $collection)
        Write-Host $param

        & $cmd $param
    }
}

我已经在我们的预生产服务器上成功地尝试了上述方法,因此我希望本周末将其部署到生产环境中。

于 2017-01-13T10:28:59.987 回答