我正在尝试使用 VS2013 检查对 TFS 的更改。当我点击提交按钮时,TFS 返回以下错误,“TF14002:身份 {domain}\{oldaccount} 不是 Team Foundation Valid Users 组的成员。”
背景:我的帐户名称已从 {oldaccount} 更改为 {newaccount}。
当我第一次开始在这家公司工作时,我几乎可以肯定我使用旧帐户设置了我的 TFS。但我以为我删除了所有与旧帐户相关的内容,并将所有内容重置为我的新帐户。我的首席技术人员甚至向我展示了带有我的新帐户名称的帐户管理屏幕。而且我已经能够使用我的新帐户名 checkout 项目。
我执行了以下步骤来尝试“清除”TFS:
• 我将所有更改过的文件复制到了一个备份位置。
• 我取消了 TFS 中的所有更改(请注意,TFS 允许我 check out 文件进行编辑)。
• 我根据在线建议删除了 Credential Manager 中的 TFS 条目。
• 我删除了我的工作区。
• 我什至删除了我的 TFS 服务器。
• 我重新启动了我的计算机。
• 我重新连接到 TFS 服务器。
• 我重建了我的工作区。
• 我从备份位置恢复了更改的文件。
此时,我再次尝试 checkin 我的更改,但收到与上述相同的错误消息。
有什么建议?
请注意,我无权访问 TFS 服务器,更没有权限对其执行任何类型的管理(而且我不知道会是谁)。因此,除了简单地调整我的计算机之外,任何建议都需要经过官僚主义的沼泽。
一个可能的积极因素(与此问题相关)是,我们已被告知我们中的许多人需要从“终极”降级到“专业”,因此如果您的建议是重新安装 Visual Studio,好处是我会反正很快就会这样做。
谢谢,
道格
编辑:
附加信息:我删除了此文件夹中的所有内容:
C:\Users\...\AppData\Local\Microsoft\Team Foundation\5.0\Cache
...但我仍然看到错误。
2015 年 1 月 24 日更新:
我终于从 Visual Studio 2013 Ultimate“降级”到了 VS2013 Professional,但我仍然遇到同样的错误。 TFS 数据库中是否有一个表仍然有我的旧帐户的条目,当我 checkin 更改时 TFS 查找我的帐户信息时,该条目可能会加入我的计算机名称和/或新帐户名称?我迫不及待地想要一个答案!
附录:当系统管理员更改我的帐户名时,他们并没有更新我的计算机本身,所以我仍在使用 C:\Users\{oldaccount}。我不敢相信这会有所作为,但你永远不知道......
2016 年 2 月 27 日更新:
抱歉没有早点更新这个。我在 DBA 的帮助下解决了这个问题:
有一个表名为 常量 其中包含域部分和名为“NamePart”的字段。解决方案是简单地将“NamePart”从“{oldaccount}”更新为“{newaccount}”。该表还有一个 SID 字段,它是来自计算机注册表的用户 SID。如果创建了新的计算机登录,则您只需更改 SID。就我而言,没有新的登录帐户,只是更改了我的登录帐户 -name-,因此,没有新的 SID。
还有一个旁注,对于电子邮件拼写错误的情况,还有 ADObjects 包含名为“MailNickName”的字段的表。当用户名拼写错误时,也应更新此字段。例如,我让 DBA 更新该字段,将“Dug@NotReal.net”更改为“Doug@NotReal.net”。
更新 常量 table 是使 TFS 工作必不可少的;更新 ADObjects 仅当不包含别名以将邮件从一个电子邮件地址转发到另一个时才相关。
最佳答案
我找到了一个名为 VersionControl.config
的文件里面的C:\Users\{username}\AppData\Local\Microsoft\Team Foundation\5.0\Cache\Volatile\
包含我旧域用户名的文件夹。将其更改为我的新用户名,然后它又开始工作了。
我在 shell 集成方面遇到了问题,Visual Studio 实际上运行良好。
关于authentication - TFS 说我不是 Team Foundation Valid Users 组的成员,但我是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27974974/