本文說明尋找和移除揮之不去的物件 Liquidator (LoL) 工具。
原始 KB 編號: 3141939
簡介
Lingering 物件 Liquidator (LOL) 是一種工具,可自動探索和移除揮之不去的物件。 此工具會使用 DRSReplicaVerifyObjects 方法,此命令 repadmin /removelingeringobjects
和 repldiag 工具結合 LDP.EXE所使用的 removeLingeringObject rootDSE 基本類型。
優點和可用性
- 結合探索和移除一個介面中揮之不去的物件。
- 此工具可從 Microsoft下載中心取得。
主要功能
- 拿掉所有域控制器 (DC) 上所有揮之不去的物件,而不會有任何提示。
- 跨樹系中的每個 DC 執行 (n * (n-1)) 比較。
- 執行拓撲偵測,可讓您挑選並選擇要用於延遲對象比較的DC(來源和目標)。
- 將揮之物件的清單匯出為 CSV 檔案,以便離線編輯物件,然後匯回工具,視需要移除物件(適用於進階移除作業)。
- 將對象的內容儲存在記錄檔中,以防新的對象必須從揮之不去的對象中凍結。
工具需求
在您要從中移除揮之物件的樹系中 DC 或成員計算機上下載並執行 Lingering 物件 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 都不適合做為參考 DC,也會顯示它們(ChildDC2 是 RODC,而且不是有效的參考 DC,因為它不會裝載 DC 的可寫入複本)。
目標 DC
要從中移除揮之對象的目標DC。
選取 [偵測揮動物件] 以使用選取的 DC 進行比較,或選取 [掃描整個樹系] 和 [以所有 DC 為目標] 掃描整個環境。
當所有欄位都保留空白時,此工具會以成對的方式,與所有分割區的所有 DC 進行比較。 在大型環境中,此比較會花費大量時間(甚至數天)作為樹系中所有保留分割區的作業目標 (n * (n-1)) 數目。 針對較短、目標作業,請選取命名內容、參考DC和目標DC。 參考 DC 必須儲存所選命名內容的可寫入複本。 請注意,按兩下 [停止] 實際上不會停止伺服器端 API,它只會停止用戶端工具中的工作。
掃描期間,會停用數個按鈕,而狀態方塊包含來自 Lingering Object Liquidator 工具的診斷和操作訊息。 在此執行階段,此工具會以諮詢模式執行,並讀取每個目標DC上報告的事件記錄檔數據。
掃描完成時,狀態列會更新、重新啟用按鈕,並顯示揮之不去對象的總數。 狀態方塊會顯示掃描期間發生的所有資訊、警告和錯誤。
如果您在狀態窗格中看到錯誤 1396 或錯誤 8440,您使用的是工具的早期 Beta-Preview 版本,而且應該更新為最新版本。
- 如果工具錯誤地使用 RODC 做為參考 DC,則會記錄錯誤 1396。
- 當目標參考DC未載載資料分割的可寫入複本時,會記錄錯誤8440。
關於 Lingering Object Liquidator 探索方法的注意事項:
- 在諮詢模式中運用 DRSReplicaVerifyObjects 方法。
- 針對所有 DC 和所有分割區執行。
- 收集揮之不去的物件事件標識碼 1946,並在主要內容窗格中顯示物件。
- 清單可以匯出至 CSV 以進行離線分析(或修改匯入)。
- 支援從 CSV 匯入匯入匯入和移除物件(針對無法使用 DRSReplicaVerifyObjects 探索的物件利用)。
- 支援透過 DRSReplicaVerifyObjects 和 LDAP rootDSE removeLingeringobjects 修改來移除物件。
此工具會利用命令所使用的
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 Directory Lingering 物件 TechNet 虛擬實驗室。
工作流程
其他相關資訊
拿掉方法 | 物件/數據分割和移除功能 | 詳細資料 |
---|---|---|
揮之不去的物件 Liquidator | 個別物件和個別分割區移除 利用: - 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 工具會將這項工作自動化。 |