Visual studio 将搁置集和MyWork迁移到新的域用户

Visual studio 将搁置集和MyWork迁移到新的域用户,visual-studio,tfs,Visual Studio,Tfs,我们的IT部门决定将AD迁移到一个新域。现在,那些迁移了帐户的人面临着一个问题——他们已经丢失了代码审查和搁置集。他们并没有真正失去它。仍然可以通过“查找搁置集”并输入olddomain\user访问它。但“我的工作”现在已断开连接。甚至打开“我的工作”查询并将用户名修改为老用户,仍然没有成功 澄清-仅将用户移动到新域,而不是TFS服务器 是否有人做过类似的事情以及任何建议、解决方法?不幸的是,他们没有正确地移动域。如果操作正确,数据将传递给新用户。不幸的是,由于TFS现在有2条记录具有唯一标识

我们的IT部门决定将AD迁移到一个新域。现在,那些迁移了帐户的人面临着一个问题——他们已经丢失了代码审查和搁置集。他们并没有真正失去它。仍然可以通过“查找搁置集”并输入
olddomain\user
访问它。但“我的工作”现在已断开连接。甚至打开“我的工作”查询并将用户名修改为老用户,仍然没有成功

澄清-仅将用户移动到新域,而不是TFS服务器


是否有人做过类似的事情以及任何建议、解决方法?

不幸的是,他们没有正确地移动域。如果操作正确,数据将传递给新用户。不幸的是,由于TFS现在有2条记录具有唯一标识符,因此在弄乱这一点之后没有适当的修复。可以删除或合并这些记录

您应该能够在脚本中执行以下操作:

  • 创建工作区(tf vc工作区)
  • 映射项目文件夹(tf vc映射)
  • 获取最新信息(tf vc get)
  • 查询旧用户的所有搁置集(tf vc搁置集)
  • 循环
    • 取消搁置搁置集(tf vc取消搁置)
    • 在当前用户下搁置一个新用户(tf vc搁置)
    • 撤消挂起的更改(tf vc撤消)
这些命令中有许多都支持
/format:xml
参数,因此可以很容易地在PowerShell脚本中调用它们,并提取数据以供后续步骤使用

我认为我的工作不会恢复相关的工作项和所有内容。我的作品已从Visual Studio的最新版本中删除,因此您可以利用这段时间来适应它

其他可能丢失的东西:

  • 工作项下的“我的查询”
  • 我的能力
  • 工作项关联
  • 工作区中挂起的更改
执行TFS域迁移的正确方法是挂起服务器,执行帐户迁移,然后运行
tfsconfig identities

 {Server install path}\Tools>TfsConfig.exe identities /change /fromdomain:old /todomain:new /account:old /toaccount:new

但这只能在TFS尚未将新身份同步到数据库的情况下完成。这可能有助于将来的问题,因为它们会转移新用户。

谢谢!我会和做这件事的人谈谈。让我们看看这是否为时已晚。基本上,您的意思是,如果用户尚未转换到新域,那么正确转换还不算太晚?另一件事,您说的是
C:\Program Files\Azure DevOps Server 2019
。我们有规则的TFS,而不是Azure过程,自从2005以来一直不变),但是配置工具的确切位置从安装到版本和版本都不同。HI T.S.,Azure DeVoPS服务器以前被命名为VisualStudioTeam Foundation Server(TFS)。TFS服务器也是如此,关于这个命令的更多细节,您可以参考:您是否有机会实现jessehouwing建议的解决方案?你能解决吗?@PatrickLu MSFT如果你认为下面的答案涵盖了我的问题,我可以接受它。然而,在我看来,我们将不得不经历痛苦,因为我们正在以一对一的方式将用户转移到新的领域。PS:嗯,是的,我使用TFS是在VSS之后发明的。我只是没有用过AzureHi T.S.,是的,jessehouwing是绝对正确的。如果您只想跨Active Directory中的域迁移帐户,并使TFS服务器驻留在旧域中。您可以使用TFSConfig identifies命令来更改TFS部署中用户和组的安全标识符(SID)。事实上,你可以一次性做到这一点。例如,follow
TfsConfig identifies/change/fromdomain:Contoso1/todomain:ContosoPrime
显示如何将TFS中所有帐户的SID从Contoso1域更改为ContosoPrime域中具有匹配名称的帐户的SID。但是,在您的情况下,您似乎已经更改了其中的一部分。这让事情变得有点复杂。一旦TFS中存在用户帐户,就无法删除该帐户或将其他帐户映射到该帐户。例如,如果要将DomainA/UserA移动到DomainB/UserB,则只有在TFS中还没有DomainB/UserB时,identifications命令才能用于迁移用户。因此,在您的情况下,一对一的方式是更安全的方式。这可以减少遇到错误的机会。