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

TFS2017:项目集合管理员没有足够的权限将用户添加到项目管理员组,tfs,tfs-2017,Tfs,Tfs 2017,我遇到一个问题,无法将用户添加到团队项目中的项目管理员组,即使我的用户帐户位于项目集合管理员组中。我还尝试了一个属于Administration Console用户组的帐户,但没有成功 这只会影响某些团队项目。尚未修改现成安全组的权限 在我们从TFS2015升级之前,它工作得很好,所以我假设TFS2017中发生了一些变化 有趣的是,我可以从项目管理组中删除用户,但不添加任何用户 我注意到现在有一个安全服务组,它似乎包含所有其他安全组。我想知道这是否是导致权限冲突的原因,因为大多数权限冲突都是“

我遇到一个问题,无法将用户添加到团队项目中的项目管理员组,即使我的用户帐户位于项目集合管理员组中。我还尝试了一个属于Administration Console用户组的帐户,但没有成功

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

在我们从TFS2015升级之前,它工作得很好,所以我假设TFS2017中发生了一些变化

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

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

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

Rajesh Ramamurthy(MSFT)为该问题提供了一个补丁(),该补丁也应在即将发布的TFS 2017更新1版本中修复

这是如何做到的:

  • 在TFS配置数据库中运行以下SQL:
    select
    来自tbl_Groupscope的LocalScopeId,其中分区ID>0和
    ScopeType=2和Active=1
  • 应将结果复制到文件中 在服务器上,例如C:\LocalScopeIdList.txt
  • 运行以下命令 在服务器上启动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
        }
    }
    
    我已经在我们的pre-prod服务器上成功地尝试了上述方法,所以我希望在本周末的生产中部署它

    Rajesh Ramamurthy(MSFT)为该问题提供了一个补丁(),该补丁也应在即将发布的TFS 2017更新1版本中修复

    这是如何做到的:

  • 在TFS配置数据库中运行以下SQL:
    select
    来自tbl_Groupscope的LocalScopeId,其中分区ID>0和
    ScopeType=2和Active=1
  • 应将结果复制到文件中 在服务器上,例如C:\LocalScopeIdList.txt
  • 运行以下命令 在服务器上启动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
        }
    }
    

    我已经在我们的pre-prod服务器上成功地尝试了上述方法,所以我希望在本周末的生产中部署它

    我看到一些类似于你的问题。我明天会进一步调查,看看我是否有更多的运气解决它。好的,我有完全相同的问题!我看到了不一致的结果,因为我有几个项目,在项目管理员组中特别提到了我,在这里我可以很好地添加。用户FM on也提到了该问题,MS员工的回复似乎表明这是一个已知问题。嗨,Tore,谢谢您的回复。我确实找到了一个解决办法,并将自己加入到项目管理员组。以下是步骤:1。让自己成为团队的管理员(即编辑董事会、专栏等的权限)。这可以在团队配置文件页面下完成。2.如果您不是团队成员,请加入团队3。暂时将团队安全组4上的“编辑项目级别”权限更改为true。将自己添加到项目管理员组5。撤消“编辑项目级别”权限更改-设置为“未设置”,希望这是有意义的。您的解决方法对我也有效,谢谢。希望MS会有一个更好的整体解决方案。我看到一些类似于您的问题。我明天会进一步调查,看看我是否有更多的运气解决它。好的,我有完全相同的问题!我看到了不一致的结果,因为我有几个项目,在项目管理员组中特别提到了我,在这里我可以很好地添加。用户FM on也提到了该问题,MS员工的回复似乎表明这是一个已知问题。嗨,Tore,谢谢您的回复。我确实找到了一个解决办法,并将自己加入到项目管理员组。以下是步骤:1。让自己成为团队的管理员(即编辑董事会、专栏等的权限)。这可以在团队配置文件页面下完成。2.如果您不是团队成员,请加入团队3。暂时将团队安全组4上的“编辑项目级别”权限更改为true。将自己添加到项目管理员组5。撤消“编辑项目级别”权限更改-设置为“未设置”,希望这是有意义的。您的解决方法对我也有效,谢谢。希望微软能有一个更好的整体解决方案。这对我来说也很有效。谢谢你的帮助,非常感谢:)这对我也很有用。感谢您的帮助,非常感谢:)