You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TFS 2017.3迁移至VSTS:IdentityMapLog.csv身份显示异常求助

我来帮你排查这个身份映射的问题,这种情况在TFS 2017.3迁移到Azure DevOps(原VSTS)的过程中并不少见,咱们一步步来分析解决:

可能的原因与解决方案

1. Prepare命令的范围限制

你执行的Prepare命令大概率只针对了特定团队项目,而非整个TFS集合。默认情况下,如果未明确指定集合参数,工具只会处理当前上下文关联的项目,自然只会映射该项目涉及的少量身份。

  • 解决方案:重新执行Prepare命令时,明确指定要迁移的完整集合,命令示例如下:
    tfpt online /collection:http://your-tfs-server:8080/tfs/YourCollection /prepare /identitymapfile:IdentityMap.csv
    
    记得替换your-tfs-server和YourCollection为你的实际服务器地址与集合名称。

2. 身份类型或活跃度过滤

TFS中的身份包含域用户、本地用户、组、服务账户等多种类型,Prepare命令默认可能只抓取活跃且关联项目权限的身份,会自动忽略历史遗留的无权限身份、集合级闲置组等。

  • 解决方案:
    1. 先导出所有身份到本地文件用于对比:
      tfsconfig identities /collection:http://your-tfs-server:8080/tfs/YourCollection > AllIdentities.txt
      
    2. 检查IdentityMapLog.csv里的3个身份类型,确认是否都是当前核心项目的活跃用户;如果需要映射其他身份,可以手动编辑IdentityMap.csv,按照以下格式补充条目:
      Source Identity,Target Identity,Comment
      DOMAIN\OldUser1,AAD\OldUser1@domain.com,手动映射历史用户
      

3. 缓存或日志生成异常

有时候Prepare命令执行完成后,日志文件可能因缓存未刷新、进程未完全退出而生成不完整。

  • 解决方案:
    1. 关闭所有相关命令行窗口与TFS工具,清理本地TFS缓存(默认路径为C:\Users\<你的用户名>\AppData\Local\Microsoft\Team Foundation\7.0\Cache,版本号根据你的TFS版本调整)。
    2. 以管理员权限重新打开命令提示符,完整执行Prepare命令,等待命令行输出明确的完成提示后,再查看生成的日志文件。

4. 身份匹配规则的隐性限制

虽然tfsconfig identities显示Match和Exists均为True,但Prepare命令的匹配逻辑更严格——比如要求身份必须有邮箱匹配、或在Azure AD中存在对应活跃账户,否则不会纳入映射。

  • 解决方案:
    1. 检查那些未被映射的身份是否在Azure AD中存在对应账户,若不存在,需要先在Azure AD中创建或激活对应身份。
    2. 对于无法自动匹配的身份,直接手动补充到IdentityMap.csv中,再继续后续迁移步骤。

另外提醒下,操作前务必备份TFS集合数据,避免因误操作导致数据丢失。

内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:49:43