如何在新服务器上恢复 Windows 2008R2 AD 快照?

如何在新服务器上恢复 Windows 2008R2 AD 快照?

我们一直在使用 Win2008R2 的AD快照功能对我们的域执行夜间备份AD。我正在尝试找出需要执行的步骤,以便使用这些夜间备份之一AD在第二台服务器上恢复我们的域。

这些是我们用来备份的命令AD DOM

1.创建新快照

echo **** create a new snapshot **** >> %LOG% 2>>&1
ntdsutil snapshot "activate instance ntds" create quit quit >> %LOG% 2>>&1

2.挂载快照

echo **** mount the new snapshot **** >> %LOG% 2>>&1
ntdsutil snapshot "list all" "mount 1" quit quit >> %LOG% 2>>&1

3.将 NTDS 快照复制到备份目录

echo **** backup the snapshot files **** >> %LOG% 2>>&1
c:
cd "\*SNAP*\WINDOWS\NTDS"
robocopy . "%BUDIR%" /E /Z /NFL /NDL /R:3 /LOG+:"%LOG%"

我想弄清楚的是如何使用在第二台计算机上ntdsutil安装/恢复此AD快照,以便它现在成为我们的Master AD服务器。

编辑#1

经过进一步挖掘,看起来并不像@Greg Askew 的的方法从媒体安装 (IFM)对我们来说是可行的。我应该在最初的问题中提到这一点,但没想到这很重要。我们正在尝试创建现有主服务器的备份,AD DS并希望能够将其还原到第二台服务器,作为我们Disaster Recovery (DR)过程。根据这个博客

... 是一种快速有效的重新安装域控制器并使其同步的方法(在大多数情况下,这是处理故障副本/域控制器的正确方法)。对于“从媒体安装”的概念,人们存在一些常见的误解,即该操作是否可以完全脱机或联机执行,简短的回答是:不可以。它不能脱机执行;您必须与 IFM 源所在的同一域中至少有一个可写域控制器联机,即使这样,您也可能无法完全高效地进行复制...

看起来您无法使用此IFM方法恢复域中的第一个服务器。域中必须已经有一台服务器。因此,IFM这只是一个执行“在线”恢复的选项,而不是“离线”恢复,我们的情况就是如此。

答案1

您需要使用从媒体安装 (IFM) 选项:

ntdsutil.exe“act inst NTDS”ifm“创建 Sysvol 完整 C:\IFM”qq

我们专门使用它是因为我们的 DIT 是 7 GB,如果没有它,执行初始复制需要一周时间。

从媒体安装 AD DS
http://technet.microsoft.com/en-us/library/cc770654%28v=ws.10%29.aspx

http://blogs.dirteam.com/blogs/sanderberkouwer/archive/2011/10/14/dcpromo-advanced-mode-what-does-it-do.aspx

http://blogs.dirteam.com/blogs/sanderberkouwer/archive/2010/04/26/active-directory-domain-services-command-fu-part-5.aspx#CommandFuIFMSsyvol

答案2

您可以尝试使用 PowerShell ISE 中的 IFM 运行单行脚本来运行 dcpromo。我修改了在网上找到的一些随机代码,并在同事的挑战下完成了这项工作 ;)

当未来的 DC 加入域后,登录并从新的 PowerShell ISE 会话运行此代码。请记住更改源 DC FQDN 并根据需要调整备份和恢复路径。还可以根据需要删除或修改站点名称。

以下是流程的细分:

  1. 按照指定的方式定位源 DC
  2. 查找您指定年龄的 IFM 备份,如果太旧则替换它。3. 检查目标(未来)DC 是否有最近的 IFM 备份,并使用现有的或创建一个新的,具体取决于目标年龄阈值(当前示例中为 4 小时)。
  3. 它创建一个 IFM 备份,并将其复制过去。
  4. 运行 dcpromo
  5. 提示输入 dcpromo 和安全模式密码的凭据
  6. 完成升级并重新启动服务器。

我建议在部署到生产之前在 VM 环境中进行测试。

$sourcedc="sourcedc.fqdn" ; $sourceIFMage=(Get-Date).AddHours(-4) ; $targetIFMage=(Get-Date).AddHours(-4) ; $targetdc="$env:computername.$env:userdnsdomain" ; $session = New-PSsession -ComputerName $sourcedc -Credential $env:USERNAME ; If((Test-Path \$sourcedc\c$\ifm) -eq $false){Invoke-Command -Session $session -ScriptBlock {cmd /c "ntdsutil "激活实例 NTDS" "IFM" "创建完整 NoDefrag c:\IFM" "QUIT" "QUIT""}} ;如果(测试路径 \$sourcedc\c$\ifm -OlderThan $sourceIFMage){Remove-Item \$sourcedc\c$\ifm -recurse -confirm:$false ;Invoke-Command -Session $session -ScriptBlock {cmd /c "ntdsutil "激活实例 NTDS" "IFM" "创建完整 NoDefrag c:\IFM" "QUIT" "QUIT""}} ;如果((测试路径 \$targetdc\c$\ifm)-eq $false){cmd /c "xcopy \$sourcedc\c$\ifm \$targetdc\c$\ifm /s /i /y"} ;如果(测试路径 \$targetdc\c$\ifm -OlderThan $targetIFMage){cmd /c "xcopy \$sourcedc\c$\ifm \$targetdc\c$\ifm /s /i /y"} ;Remove-PSsession * ; Install-WindowsFeature -Name AD-Domain-Services –IncludeManagementTools ; Install-ADDSDomainController -domainname $env:userdnsdomain -SiteName "Site1" –InstallationMediaPath "c:\IFM" –DatabasePath "c:\NTDS" –SYSVOLPath "c:\SYSVOL" –LogPath "c:\NTDS" -replicationsourcedc $sourcedc -force

相关内容