第 1 天:仅存在一个域控制器 (DC1)。在 DC1 上配置 Windows Server Backup 以保存系统状态。从 AD 中删除重要用户。
第 2 天:升级额外的域控制器 (DC2)。
第 3 天:将 DC1 引导到 DSRM 并通过系统状态恢复(非权威)恢复到第 1 天。通过 ntdsutil(权威)标记要恢复的重要用户。重新启动 DC1。
DC1 不与 DC2 同步,并且 DC2 不知道出现在 DC1 上的 Active Directory 用户和计算机中。Active Directory 站点和服务显示 DC2 的 NTDS 对象(我假设从林中的其他域同步回 DC1),但我们无法运行元数据清理,因为它找不到计算机对象。此时,由于 DC1 不与其他域控制器同步,因此整个 AD 恢复到 Day 1,而不仅仅是恢复重要用户。
我们能从这种情况中恢复过来吗?这是预期的行为还是环境中缺少先决条件?
您的情况可能会有所不同,但在我看来,在 Active Directory 中没有明智的方法来执行单个对象恢复。事物是相互关联的,并且对象一直在变化(这可能是 Active Directory 中的“活动”)。
我建议针对您遇到的情况启用 Active Directory 回收站。
执行系统状态恢复几乎总是只适用于灾难恢复(即当您丢失所有 DC 时)。然而,在这种情况下,你可能失去的比这多得多,所以在这种情况下重新开始可能是更好的选择。
您遇到的问题是,在您的备份(第一天)中没有第二个 DC。您采用的方法通常会起作用,并且允许您仅恢复一个对象(如果您在 DC1 上进行备份时 DC2 是域的一部分)。
你有点像先有鸡还是先有蛋的情况——当你恢复 DC1 时(正如你正确指出的那样),它不知道 DC2,所以它不会信任它(用于复制)。出于同样的原因,DC2 也无法使自己对 DC1 具有权威。因此,您最终会得到 2 个独立的 AD 版本,因为 DC 彼此不信任。你无法解决这个问题,你只是运气不好,在你的第二个 DC 上线之前删除了一个重要的对象。
支持对任意时间点执行权威还原,只要该备份不早于 Active Directory 林中的逻辑删除生命周期(180 天)。您还可以向域中添加其他域控制器,并且仍然还原只有一个域控制器时进行的备份。
您唯一必须注意的是,任何新升级的域控制器都与 Active Directory 完全同步,并且它们完成了初始 SYSVOL 同步。在通过授权还原进行对象恢复之前,请确保域中的所有域控制器上都存在 NETLOGON 和 SYSVOL 共享。
在我使用两个域控制器的场景中,DC2 未完全复制,正在等待初始 SYSVOL 同步。DC1 随后恢复,并且在重新引导后也处于初始 SYSVOL 同步的相同状态。这导致两个域控制器不再进行复制,并且从此时起两者实际上都拥有自己的 Active Directory 副本。