Robocopy 不适用于 Active Directory 快照备份

Robocopy 不适用于 Active Directory 快照备份

我正在尝试自动备份 Windows 2008 Active Directory 数据库 (ntds.dit)。

已安装的 AD 快照在 C:\$SNAPxxxxxxxxxx\Windows\NTDS 中创建。以下脚本用于创建、安装、卸载和删除 AD 快照。

不起作用的是 robocopy。在 robocopy 行上方,我切换到包含已安装快照的目录。然后,我告诉 Windows 将该目录及其子内容 (/s) 复制到 C:\ad_backups。robocopy 不会复制 C:\$SNAPxxxxxxxxxx\ 目录的内容,而是开始将整个 C: 驱动器复制到 C:\ad_backups。为什么?权限?

我还发现,如果您使用 Windows 资源管理器浏览到 C:\$SNAPxxxxxxxxxx\,该文件夹会显示为快捷方式图标(几乎像 Linux 中的符号链接)。双击它会带您返回到 C:\,即使 Windows 资源管理器的地址栏显示 C:\$SNAPxxxxxxxxxx。

rem unmount all mounted snapshots if any
ntdsutil snapshot "list all" "unmount *" quit quit
rem delete all existing snapshots if any
ntdsutil snapshot "list all" "delete *" quit quit
rem create a new snapshot
ntdsutil snapshot "activate instance ntds" create quit quit
rem mount the snapshot
ntdsutil snapshot "list all" "mount 1" quit quit
rem Change directory to C:\snapshot_location
cd c:\*snap*
rem copy snapshot contents to C:\ad_backups
robocopy . C:\ad_backups\ /s
rem unmount and delete the snapshot
ntdsutil snapshot "list all" "unmount *" quit quit
ntdsutil snapshot "list all" "delete *" quit quit

更新日期:2014 年 2 月 14 日

根据@arcesso 我改变

cd c:\*snap*

cd c:\*snap*\windows\ntds

现在,当我尝试使用 dsamain 显示备份 AD 快照中的信息时,我收到错误。似乎 dsamain 只喜欢处理通过 ntdsutil 安装的快照。此外,ntdsutil 没有将目录更改为 c:\ad_backups 以安装快照的选项。

C:\Windows\system32>dsamain -dbpath C:\ad_backups -ldapport 10389
EVENTLOG (Error): NTDS General / Internal Processing : 1003
Active Directory Domain Services could not be initialized.

The directory service cannot recover from this error.

User Action

Restore the local directory service from backup media.

Additional Data

Error value:
-1032 JET_errFileAccessDenied, Cannot access file, the file is locked or in use

EVENTLOG (Informational): NTDS General / Service Control : 1004
Active Directory Domain Services was shut down successfully.

当我手动制作 C:\Windows\NTDS* 的 VSS 副本并尝试使用 dsamain 时,我收到了上述相同的错误。

答案1

听起来你几乎已经回答了自己的问题。如果C:\$SNAPxxxxxxxxxx\转到C:\但你需要C:\$SNAPxxxxxxxxxx\Windows\NTDS,为什么不直接转到C:\windows\NTDS并跳过这个问题呢?

答案2

明白了...我需要将 ntds.dit 添加到路径中。

C:\Windows\system32>dsamain -dbpath C:\ad_backups\ntds.dit -ldapport 10389
EVENTLOG (Informational): NTDS General / Service Control : 1000
Microsoft Active Directory Domain Services startup complete, version 6.0.6002.18 781

相关内容