TFS说我不是Team Foundation Valid Users组的成员,但我是

时间:2015-01-15 23:34:41

标签: authentication visual-studio-2013 tfs credentials

我正在尝试使用VS2013检查TFS的更改。当我按下提交按钮时,TFS返回以下错误:“TF14002:身份{domain} \ {oldaccount}不是Team Foundation Valid Users组的成员。”

背景:我的帐户名称已从{oldaccount}更改为{newaccount}。

当我第一次开始在这家公司工作时,我几乎可以肯定我用旧帐户设置了TFS。但我以为我删除了与旧帐户相关的所有内容,并将所有内容重置为我的新帐户。我的主要技术人员甚至用我的新帐户名称向我显示了帐户mngmnt屏幕。我已经能够使用我的新帐户名检查项目。

我执行了以下步骤以尝试“清理”TFS:
•我将所有已更改的文件复制到备份位置。
•我解除了TFS中的所有更改(请注意,TFS允许我签出要编辑的文件)。
•我根据在线建议删除了Credential Manager中的TFS条目。
•我删除了我的工作区。
•我甚至删除了我的TFS服务器。
•我重新启动了我的电脑。
•我重新连接到TFS服务器。
•我重建了我的工作区。
•我从备份位置恢复了已更改的文件。

此时我尝试再次检入我的更改,但收到了与上面相同的错误消息。

有什么建议吗?

请注意,我无权访问TFS服务器,更不用说对其执行任何类型的管理员的权限(而且我不知道那个人会这样做)。因此,除了简单地调整我的计算机之外的任何建议都需要通过官僚沼泽进行旅行。

一个可能的正面(与此问题相关)是我们被告知我们中的一些人需要从“终极”降级为“专业”,所以如果你的建议是重新安装Visual Studio,那么好处就是我不管怎样,我会很快这样做。

谢谢,
道格

编辑:
附加信息:我删除了此文件夹中的所有内容:

C:\ Users \ ... \ AppData \ Local \ Microsoft \ Team Foundation \ 5.0 \ Cache

......但我仍然看到错误。

2015年1月24日更新:
我最终从Visual Studio 2013 Ultimate“降级”到VS2013 Professional,但我仍然遇到同样的错误。可能会有一个TFS数据库中的表,当我检查我的更改时,当TFS去查找我的帐户信息时,我的旧帐户的条目可能会加入我的计算机名称和/或新帐户名称?我迫不及待地想要一个答案!

附录:当sys-admins更改了我的帐户名时,他们没有更新我的计算机本身,所以我仍然使用C:\ Users \ {oldaccount}。我不敢相信会有所作为,但你永远不会知道......

更新2/27/2016:
很抱歉没有及早更新。我在DBA的帮助下解决了这个问题:

有一个名为常量的表,其中包含域部分和名为“NamePart”的字段。解决方案是简单地将“NamePart”从“{oldaccount}”更新为“{newaccount}”。该表还有一个SID字段,它是用户来自计算机注册表的SID。如果创建了新的计算机登录,则只能更改SID。在我的情况下,没有新的登录帐户,只是更改了我的登录帐户名称 - 因此,没有新的SID。

另请注意,对于某人的电子邮件拼写错误的情况,还有 ADObjects 表,其中包含名为“MailNickName”的字段。当用户名拼写错误时,也应更新此字段。例如,我有DBA更新该字段将“Dug@NotReal.net”更改为“Doug@NotReal.net”。

更新常量表对于使TFS工作至关重要;更新 ADObjects 仅在不包含别名以将邮件从一个电子邮件地址转发到另一个电子邮件地址时才相关。

3 个答案:

答案 0 :(得分:2)

我发现了一个名为mytext.replaceAll("\n", "<br />"); 的文件 我的旧域名用户名为VersionControl.config的文件夹。将其更改为我的新域名,然后又重新开始工作。

我遇到了shell集成的问题,Visual Studio实际上工作正常。

答案 1 :(得分:1)

我应该将我的答案(2016年2月27日更新)作为正式答案发布。我在DBA的帮助下解决了这个问题:

有一个名为常量的表,其中包含域部分和名为“ NamePart ”的字段。解决方案是简单地将“ NamePart ”从“{oldaccount}”更新为“{newaccount}”。此表还有一个 SID 字段,它是用户来自计算机注册表的SID。如果创建了新的计算机登录,则只能更改 SID 。在我的情况下,没有新的登录帐户,只是更改了我的登录帐户名称 - 因此,没有新的SID。

另外注意,对于某人的电子邮件拼写错误的情况,还有 ADObjects 表,其中包含名为“ MailNickName ”的字段。当用户名拼写错误时,也应更新此字段。例如,我有DBA更新该字段将“Dug@NotReal.net”更改为“Doug@NotReal.net”。

更新常量表对于使TFS工作至关重要;更新 ADObjects 仅在不包含别名以将邮件从一个电子邮件地址转发到另一个电子邮件地址时才相关。

答案 2 :(得分:0)

上述解决方案不适用于我们公司的开发人员。我的一位同事提出了一个简单的想法,那就是执行“撤消结帐”,这很奏效。之后,签入和结帐再次正常进行。