TFS2017:项目收集管理员没有足够的权限将用户添加到Project Admin组

时间:2017-01-10 11:29:32

标签: tfs2017

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

Insufficient permission error

这只会影响某些团队项目。尚未修改现成安全组的权限。

在我们从TFS2015升级之前,这工作正常,所以我假设在TFS2017中发生了一些变化。

有趣的是,我可以从Project Admin组中删除用户,只是不添加任何内容。

我注意到现在有一​​个安全服务组似乎包含所有其他安全组。我想知道这可能是导致许可冲突的原因,因为大多数人都没有设置'。

Security Service Group permissions

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

1 个答案:

答案 0 :(得分:0)

Rajesh Ramamurthy(MSFT)已针对此问题提供了修复程序(comment on Brian Harry's blog),该修复程序也应在即将发布的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脚本并将前三个值更新为 需要的。
  4. 第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
        }
    }
    

    我已经在我们的pre-prod服务器上尝试了上述功能,因此我希望本周末将其部署到生产环境中。