本文介绍如何使用 Active Directory 的联机 dbdump 功能。
原始 KB 数: 315098
总结
可以使用 Ldp.exe中的联机 dbdump 功能查看域控制器运行时存储在数据库中的值。 可以通过修改 rootDSA 上的 dumpDatabase 属性来触发联机 dbdump 功能。
为此特性指定的值是要转储的默认属性以外的属性。 指定的值是此属性的名称。 dumpDatabase 功能首先检查是否有足够的权限来转储数据库。 然后将数据库转储到Ntds.dmp文件中。 Ntds.dmp文件位于数据库文件 (.dit) 所在的同一文件夹中。 默认属性为:
- DNT
- PDNT
- OBJ
- RDNTyp
- CNT
- ABCNT
- DelTime
- NCDNT
- ABVis
使用示例:调查发生冲突 CNF 或删除 DEL 属性的 SPN 问题
若要创建Ntds.dmp文件,请执行以下步骤:
在记录 NTDS 事件 1645 的域控制器上启动Ldp.exe。
在本地连接,然后作为企业管理员进行绑定。
单击“浏览”菜单上的“修改”。
编辑 属性:dumpdatabase。
编辑 值:名称 ncname objectclass objectguid instancetype。 必须在属性之间留出一个空格。
单击 “输入”。 “ 条目列表 ”框包含以下条目:
[Add]dumpdatabase: name ncname objectclass objectguid instancetype单击“扩展”和“运行”选项。
创建 %systemroot%\NTDS\Ntds.dmp 文件,或者在Ldp.exe收到一条错误消息,指出必须调查。
还可以使用 LDIFDE 导入文件dump-db.txt来触发此触发器,如下所示:
Dn:
Changetype:modify
添加:dumpdatabase
Dumpdatabase:name ncname objectclass objectguid instancetype
-
若要使用 LDIFDE 导入文件,请使用类似于 ldifde /s \<targetserver> /i /f dump-db.txt
..
使用输出
Ntds.dmp文件是文本文件。 查找在事件 1645 中报告的冲突或删除的 GUID,以查看内部引用不匹配。
示例转储文件
以下示例显示域 PDT 的 CROSSREF 对象指向已删除的错误对象:
3953 2326 true 3 1 0 - 1163 - 4
3947 196619 56.6E.52.8A.2E.B4.00.43.BE.B1.B3.57.91.AD.F5.BE PDT
...
3947 1161 false 1376281 2 0 2001-08-04 11:02.47 - -
- - - 9E.4C.AB.36.81.65.2B.4F.A0.31.59.D5.C2.74.68.F2 pdt
DEL:36ab4c9e-6581-4f2b-a031-59d5c27468f2
...
3958 1161 false 1376281 3 0 2001-08-04 23:02.47 - -
- - - 85.0B.3B.A1.EC.68.37.46.9E.D0.FF.F6.66.BA.FB.84 pdt
内部引用指向 3947,尽管它应指向 dc=pdt,dc=net 的新 3958 对象。
可以使用最新版本的 Ntdsutil.exe 工具的语义检查器解决此问题。