技术问询:Team Foundation Server 2017 Update 3无法与Active Directory同步
解决TFS 2017 Update 3与Active Directory同步失败的问题
我之前也碰到过TFS 2017 Update 3和AD同步卡壳的情况,跟你描述的一模一样——访问控制界面里用户信息刷不出来,输入域名后连个用户列表都加载不出来。给你分享几个我当时排查解决的步骤,亲测有效:
1. 检查TFS服务账户的AD权限
TFS的服务账户必须拥有Active Directory的读取用户和组信息的权限,这是同步的基础:
- 登录到域控制器,打开「Active Directory用户和计算机」,找到你的域名节点,右键选择「属性」->「安全」标签。
- 找到TFS服务账户(通常是
YOURDOMAIN\TFSService这类),确认它有「读取所有用户信息」和「读取所有组信息」的权限;如果没有,手动添加这两项权限。 - 也可以用命令行快速验证权限,在域控制器上执行:
(记得替换成你的实际域名和服务账户名)dsacls "DC=yourdomain,DC=com" /I:T /G YOURDOMAIN\TFSServiceAccount:RPWP;user; - 权限配置完成后,重启TFS应用层服务(在「服务」里找「Visual Studio Team Foundation Background Job Agent」和「Microsoft Team Foundation Server Application Pool」)。
2. 验证TFS的AD同步配置
有时候配置项的小错误会导致同步失败:
- 打开TFS管理控制台,切换到「应用层」->「团队项目集合」,选中你的目标集合,点击右侧的「Active Directory」配置。
- 确认「启用Active Directory同步」已勾选,并且填写的域名格式正确(尝试用完整域名
yourdomain.com或短域名YOURDOMAIN两种格式,有些环境对格式敏感)。 - 保存配置后,等待5-10分钟看是否自动同步,或者手动触发同步(见下一步)。
3. 手动触发同步并排查日志
自动同步可能有延迟,手动触发可以更快看到结果,同时日志能帮你定位问题:
- 在TFS应用层服务器上,以管理员身份打开命令提示符,切换到TFS安装目录的工具路径:
cd C:\Program Files\Microsoft Team Foundation Server 15.0\Tools - 执行以下命令手动同步:
tfsservicecontrol quiesce tfssync /syncad tfsservicecontrol unquiesce - 同步完成后,去日志目录查看AD同步的详细信息,日志路径一般是:
找文件名包含C:\Program Files\Microsoft Team Foundation Server 15.0\Application Tier\LogsADSync的日志文件,里面会记录同步过程中的错误(比如域控制器连接失败、权限不足等)。
4. 检查TFS服务器与域控制器的连通性
如果TFS服务器连不上域控制器,同步肯定失败:
- 在TFS应用层服务器上,执行
nslookup yourdomain.com,确认能解析到域控制器的IP地址。 - 用TFS服务账户登录TFS服务器,打开「Active Directory用户和计算机」,尝试浏览用户和组。如果打不开,说明网络或防火墙有问题:
- 检查TFS服务器和域控制器之间的防火墙,确保开放了AD常用端口:389(LDAP)、636(LDAPS)、53(DNS)、445(SMB)。
- 测试服务器到域控制器的端口连通性,比如用
telnet dc-ip 389看是否能连接。
5. 清除TFS缓存
缓存过期或损坏也可能导致用户信息显示异常:
- 服务器端缓存:删除路径
C:\Program Files\Microsoft Team Foundation Server 15.0\Application Tier\Web Services\_tfs_data下的所有缓存文件夹,然后重启TFS服务。 - 客户端缓存:如果是客户端访问时看不到更新,让用户删除本地缓存路径
%LOCALAPPDATA%\Microsoft\Team Foundation\7.0\Cache下的文件,重新登录TFS。
如果以上步骤都尝试后还是无法解决,可能需要考虑修复TFS的安装,或者联系微软技术支持进一步排查。
内容的提问来源于stack exchange,提问作者Kamesh Siva
相关产品推荐
相关产品推荐

