培训
模块
Active Directory 域服务迁移 - Training
确定将域控制器移动到 Windows Server 2025 的最佳方法。 了解 Active Directory 迁移工具如何整合林中的域或将域迁移到新的 AD DS 林。
本文介绍用于查找和删除挥发对象的Lingering Object Liquidator (LoL) 工具。
原始 KB 数: 3141939
Lingering Object Liquidator (LOL) 是一种工具,用于自动发现和删除挥之不去的对象。 该工具使用 DRSReplicaVerifyObjects 方法,该方法由 repadmin /removelingeringobjects
命令和 repldiag 工具与 LDP.EXE 使用的 removeLingeringObject rootDSE 基元结合使用。
在要从中删除挥发对象的林中的 DC 或成员计算机上下载并运行 Lingering Object Liquidator。
必须在运行该工具的计算机上安装Microsoft .NET Framework 4.5.2。
权限:运行该工具的用户帐户必须具有执行计算机所在的林中每个域的域管理员凭据。 默认情况下,企业管理员组的成员在林中的所有域中都有域管理员凭据。 域管理员凭据在单个域或单个域林中已足够。
必须在需要扫描的任何 DC 上启用远程事件日志管理(RPC)防火墙规则。 否则,该工具将返回“异常:RPC 服务器不可用”错误。
![]() |
![]() |
---|
不支持清理 Active Directory 轻型目录服务(AD LDS/ADAM)环境中的挥发对象。
以域管理员身份运行该工具(如果要扫描整个林,或者作为企业管理员)。 要设置部门,请按照以下步骤操作。
备注
如果未将该工具作为提升运行,将收到错误 8453。
在“拓扑检测”部分中,选择“ 检测 AD 拓扑”。
通过查询本地 DC 来检测 AD 拓扑 将 填充命名上下文、 引用 DC 和 目标 DC 列表。 彻底 检测对所有 DC 进行更详尽的搜索,并利用 DC 定位符和 DSBind 调用。 请注意,如果一个或多个 DC 无法访问,彻底检测可能会失败。
以下是“挥之不去的对象”选项卡上的字段:
命名上下文
它包含林中的每个 Active Directory 命名上下文。
参考 DC
这是要与目标 DC 进行比较的 DC。 引用 DC 承载分区的可写副本。
备注
即使它们不适合作为引用 DC(ChildDC2 是 RODC,并且不是有效的引用 DC,因为它不承载 DC 的可写副本),也会显示林中的所有 DC。
目标 DC
要从中删除徘徊对象的目标 DC。
选择“ 检测挥发对象 ”以使用所选 DC 进行比较,或选择“ 扫描整个林 ”和 “面向所有 DC ”以扫描整个环境。
当所有字段都留空时,该工具会以成对的方式与所有分区的所有 DC 进行比较。 在大型环境中,此比较将花费大量时间(甚至数天)作为林中所有本地保留分区的操作目标(n * (n-1)数量的 DC。 对于较短的目标操作,请选择命名上下文、引用 DC 和目标 DC。 引用 DC 必须保存所选命名上下文的可写副本。 请注意,单击“停止”实际上不会停止服务器端 API,它只会停止客户端工具中的工作。
在扫描期间,禁用了多个按钮,状态框包含来自 Lingering Object Liquidator 工具的诊断和操作消息。 在此执行阶段,该工具在咨询模式下运行,并读取在每个目标 DC 上报告的事件日志数据。
扫描完成后,状态栏会更新、重新启用按钮,并显示徘徊对象总数。 状态框显示扫描期间发生的所有信息、警告和错误。
如果在状态窗格中看到错误 1396 或错误 8440,则使用的是该工具的早期 beta 预览版,应更新到最新版本。
有关Lingering Object Liquidator 发现方法的说明:
该工具利用命令使用的 repadmin /removelingeringobjects /Advisory_Mode
DRSReplicaVerifyObjects 方法(在顾问模式下)。 除了在每个 DC 上记录的正常咨询模式相关事件外,它还在主内容窗格中显示每个挥之不去的对象。
扫描结果将记录在“结果”窗格中。 所有操作的更多详细信息都记录在 与工具可执行文件相同的目录中的 linger<Date-TimeStamp>.log.txt 文件中。
“ 导出 ”按钮允许将主窗格中列出的所有挥发对象的列表导出到 CSV 文件中。 在 Excel 中查看文件,根据需要修改,稍后使用 “导入 ”按钮查看对象,而无需执行新的扫描。 如果发现需要删除的已放弃对象(不可使用 DRSReplicaVerifyObjects 发现),则导入功能也很有用。
有关暂时性挥之不去对象的注释:
垃圾回收是一个独立的进程,默认情况下每 12 小时在每个 DC 上运行一次。 其作业之一是删除已删除的对象,并将其作为墓碑存在,超过墓碑生存期天数。 有一个滚动 12 小时的时间,即某些 DC 上存在一个有资格进行垃圾回收的对象,但其他 DC 上的垃圾回收进程已经删除了该对象。 这些对象也将报告为工具的挥之不去的对象;但是,无需执行任何操作,因为它们将在下次垃圾回收器进程在 DC 上运行时自动删除。
有两种支持的方法可以删除检测到的挥发对象。 “removeLingeringObject”方法是指 rootDSE 修改操作,该操作可用于删除单个挥发对象。 “DsReplicaVerifyObjects”方法将同时选择所有挥霍的对象。
若要删除单个对象,请使用 Ctrl 或 Shift 键选择单个对象或多选多个对象。 按 Ctrl 选择多个对象,或 按 Shift 选择一系列对象,然后选择“ 删除所选的挥发对象”。
状态栏使用挥之不去的对象和删除操作的状态进行更新:
该工具在删除之前转储每个对象的属性列表,并将其记录到removedLingeringObjects.log.txt日志文件中对象删除的结果。 此日志文件与工具的可执行文件位于同一位置: C:\tools\LingeringObjects\removedLingeringObjects<DATE-TIMEStamp>.log.txt。
日志文件的示例内容:
the obj DN: <GUID=<GUID>>; <SID=<SID>>;CN=<CN_Name>,OU=<OU_Name>,DC=root,DC=contoso,DC=com
objectClass:top, person, organizationalPerson, user;
sn:Schenk;
whenCreated:20121126224220.0Z;
name:<CN_Name>;
objectSid:<SID>;primaryGroupID:513;
sAMAccountType:805306368;
uSNChanged:32958;
objectCategory:<GUID=<GUID>>;CN=Person,CN=Schema,CN=Configuration,DC=root,DC=contoso,DC=com;
whenChanged:20121126224322.0Z;
cn:<CN_Name>;
uSNCreated:32958;
l:Boulder;
distinguishedName:<GUID=<GUID>>; <SID=<SID>>;CN=<CN_Name>,OU=<OU_Name>,DC=root,DC=contoso,DC=com;
displayName:<CN_Name>;
st:Colorado;
dSCorePropagationData:16010101000000.0Z;
userPrincipalName:<User_Name>@root.contoso.com;
givenName:<User_Name>;
instanceType:0;
sAMAccountName:<Account_Name>;
userAccountControl:650;
objectGUID:<GUID>;
value is :<GUID=<GUID>>:<GUID=<GUID>>
Lingering Obj CN=<CN_Name>,OU=<OU_Name>,DC=root,DC=contoso,DC=com is removed from the directory, mod response result code = Success
---------------------------------------------
RemoveLingeringObject returned Success
识别所有对象后,可以通过选择所有对象,然后删除或导出到 CSV 文件来批量删除它们。 稍后可以再次导入 CSV 文件以执行批量删除。 请注意,有一个 “删除所有 ”按钮,它利用 repadmin /removelingeringobject
了删除对象时挥之不去的方法。
支持:尽管此工具在许多环境中进行了全面测试,但按原样提供给你。 不会提供官方Microsoft支持。
如果要在包含挥发对象的实验室环境中练习使用此工具,请访问 Active DirectoryLingering 对象疑难解答 TechNet 虚拟实验室。
删除方法 | 对象/分区和删除功能 | 详细信息 |
---|---|---|
挥之不去的对象清算器 | 每个对象和每分区删除 利用: - RemoveLingeringObjects LDAP rootDSE 修改 - DRSReplicaVerifyObjects 方法 |
- 基于 GUI - 快速显示正在加入执行计算机的林中的所有挥之不去的对象 - 通过 DRSReplicaVerifyObjects 方法进行内置发现 - 用于从所有分区中删除挥之不去的对象的自动化方法 - 从所有 DC(包括 RODC)中删除挥之不去的对象,但不会挥之不去的链接 - Windows Server 2008 及更高版本的 DC(不适用于 Windows Server 2003 DC) |
Repldiag /removelingeringobjects | 按分区删除 利用: - DRSReplicaVerifyObjects 方法 |
- 仅命令行 - 用于从所有分区中删除挥之不去的对象的自动化方法 - 通过 DRSReplicaVerifyObjects 进行内置发现 - 在 DC 上的事件中显示发现的对象 - 不删除挥之不去的链接。 不会从 RODC 中删除挥之不去的对象(尚未删除)。 |
LDAP RemoveLingeringObjects rootDSE 基元(最常使用 LDP.EXE 或 LDIFDE 导入脚本执行) | 每个对象删除 | - 需要单独的发现方法 - 删除每个执行中的单个对象,除非已编写脚本。 |
Repadmin /removelingeringobjects | 按分区删除 利用: - DRSReplicaVerifyObjects 方法 |
- 仅命令行 - 通过 DRSReplicaVerifyObjects 进行内置发现 - 在 DC 上的事件中显示发现的对象 - 如果需要全面的 (n * (n-1)对清理,则需要执行许多执行。 repldiag 工具和 Lingering Object Liquidator 工具可自动执行此任务。 |
培训
模块
Active Directory 域服务迁移 - Training
确定将域控制器移动到 Windows Server 2025 的最佳方法。 了解 Active Directory 迁移工具如何整合林中的域或将域迁移到新的 AD DS 林。
文档
在过时的复制合作伙伴上手动删除挥之不去的对象 - Windows Server
在将过时的域控制器(DC)或全局编录服务器重新联机后,有助于手动删除挥发对象。
Active Directory 复制事件 ID 1388 或 1988 - 检测到挥之不去的对象 - Windows Server
帮助你排查 Active Directory 复制事件 ID 1388 和 1988 的问题。
AD DS 林中的挥之不去对象 - Windows Server
提供有关在林中徘徊对象的信息,包括指示挥之不去对象的事件、挥之不去对象的原因以及删除挥发对象的方法。