应用 TFSConfig 修复命令后还原 TFS 2010 集合的所有安全组

Posted

技术标签:

【中文标题】应用 TFSConfig 修复命令后还原 TFS 2010 集合的所有安全组【英文标题】:Restore all security groups of the TFS 2010 collections after applying the TFSConfig repair command 【发布时间】:2012-05-07 05:29:12 【问题描述】:

我们丢失了 TFS 和域服务器。 TFS 被配置为使用域帐户。我们只能重新定位 TFS 项目集合数据库,并且由于“TFSConfig 修复”命令,我们最终将它们附加到了一个新的 TFS 实例。

但是所有修复项目的默认安全组都丢失了(管理员除外)。例如,我们不再有“贡献者”组。

现在我们要恢复这些标准组。也许可以通过在所有现有项目和集合上再次应用默认的 TFS“项目过程模板”来修复它。

有什么办法解决吗?

【问题讨论】:

【参考方案1】:

当您丢失域服务器时,您必须遵循“Move Team Foundation Server from One Environment to Another”过程的移动用户和服务帐户一章。

顺便说一句,没有像在现有团队项目上重新应用流程模板这样的功能。

您是否尝试过至少重建一个丢失的组?只知道这是否有效(也许 TFS 会返回一个错误,因为该组仍然存在于数据库中,但无论出于何种原因它都没有显示)?

最后一件事:检查 TFS 调度程序 Windows 服务是否在 TFS 服务器上运行,并在 Windows 事件日志中查找错误。

【讨论】:

新的 TFS 已经启动,我们对管理员访问没有任何问题,我们只是丢失了安全组,我认为我们可以手动创建它们,但我不想检查我们是否可以这样做它自动(仅关于安全组)。然后我们可以为用户一个一个分配权限。 你改了广告,对吧?您是否拥有 TFS 服务帐户和 TFS 用户(例如开发人员)的新 AD 帐户重新映射旧的 AD 帐户?例如,当您在源代码管理上创建查看历史记录时,您是否正确显示了用户?奇怪的是你只丢失了 TFS 安全组,这些东西应该存储在 TPC 数据库中。 你是绝对正确的。关于我们没有正确显示用户的历史记录。但现在对我们来说唯一重要的是 TFS 安全组。换句话说,我们想要一个包含旧项目的干净 TFS,并且只需要丢失域用户的历史记录(错误地显示名称并不重要)。将重新分配所有用户。 问题是,如果您不重新映射旧用户帐户(相信我),您无法期望 TFS 服务器正常运行。您必须按照“移动用户和服务帐户”的第 2 步,使用“TFSConfig 身份”命令重新映射旧用户和服务帐户。您的安全组可能仍然存在但未显示,因为作为成员的帐户不存在。这与管理员组不同,因为 TFS 确保该组始终存在并正常工作。 正如我所说,我们安装了一个新的干净 TFS 并使用“TFSConfig 修复”命令附加了现有的集合 DB(它将集合附加到新的 TFS)。看来我们必须恢复所有旧的 TFS 并使用您所说的“TFSConfig 身份”?对吗?

以上是关于应用 TFSConfig 修复命令后还原 TFS 2010 集合的所有安全组的主要内容,如果未能解决你的问题,请参考以下文章

将 TFS 数据库还原到新硬件后出错

TFS在构建和发布期间合并

重命名计算机名称导致TFS版本管理下的工作区问题的修复

win10系统怎么用命令点击系统还原服务

使用 TFS 计划备份/还原将 TFS 2015 数据库还原到 TFS 2018 失败

windows2008重启提示系统修复和系统还原没有命令行