TFS2010升级至2018后域组成员无法访问集合的技术问题咨询
TFS2010升级到2018后域组成员无法访问集合的排查与修复
我之前处理过好几起TFS从2010升级到2018后的权限故障,结合你描述的情况——2010里域组(比如TeamA)能正常关联到集合级TFS组(比如Project Collection Build Administrators),还能展开看到John、Peter这些成员,但升级后域组成员就没法访问集合了,十有八九是升级过程中域组的SID映射、AD权限同步或者TFS身份缓存出了问题。给你整理一套实操性强的排查和修复步骤:
1. 核对域组的SID映射是否正确
TFS核心是通过AD的SID来识别用户/组权限的,升级时很容易出现SID没有同步到位的情况:
- 打开TFS2018管理控制台,进入目标集合,切换到「安全」选项卡
- 找到之前授权的域组(比如TeamA),查看它的属性面板,确认显示的SID和AD中该组的SID完全一致
- 如果SID不匹配,先删除TFS里的这个域组,再重新从AD中搜索添加到对应的集合级TFS组里
2. 确认TFS服务账户的AD权限
TFS2018对服务账户的AD权限要求比2010更严格,必须能正常读取域组的成员信息:
- 检查TFS应用层和数据层的服务账户,确保它们拥有读取AD用户/组属性的权限
- 最简单的方法是把这些服务账户加入AD内置的「读取所有用户信息」组,或者直接在域级别授予读取权限
3. 手动同步TFS的身份缓存
TFS会缓存AD身份数据,升级后旧缓存可能导致无法识别新的域组关系:
- 打开TFS专用的命令行工具(可以用TFS PowerShell,或者找到
tf.exe、tfsconfig.exe所在的安装目录) - 依次执行以下命令:
- 暂停TFS服务:
tfsservicecontrol quiesce - 同步域身份:
tfsconfig identities /sync:domain - 恢复TFS服务:
tfsservicecontrol unquiesce
- 暂停TFS服务:
4. 检查集合权限的继承与覆盖
升级过程中权限的继承规则可能被意外修改:
- 进入集合安全设置,查看
Project Collection Build Administrators组的成员列表,确认域组TeamA是否还在其中 - 检查该TFS组的权限项,有没有被明确拒绝的条目,或者是否禁用了权限继承
- 如果继承有问题,尝试重新启用继承,或者手动重新添加域组并重新授予对应权限
5. 测试单个域用户的访问情况
如果域组问题仍未解决,先测试组内单个用户(比如John):
- 直接把John添加到
Project Collection Build Administrators组,验证他能否正常访问集合 - 如果单个用户可以访问,说明问题确实出在域组的识别环节,回到前面的SID同步和AD权限排查
- 如果单个用户也无法访问,可能是TFS的身份存储数据库有异常,需要进一步检查配置库中的身份表
额外提醒:如果你的TFS服务器和AD域之间存在跨域或林信任关系,要确认信任连接是否正常,查看AD和TFS服务器的事件日志,有没有身份验证失败的记录。
内容的提问来源于stack exchange,提问作者Martin
相关产品推荐
相关产品推荐

