残留オブジェクトリキエーター ツールの説明

この記事では、残留オブジェクトを検索および削除するための残留オブジェクトリキエーター (LoL) ツールについて説明します。

適用対象: Windows Server 2012 R2
元の KB 番号: 3141939

概要

残留オブジェクトリキエーター (LOL) は、残留オブジェクトの検出と削除を自動化するためのツールです。 このツールは DRSReplicaVerifyObjects メソッドを使用します。これは、コマンドと repldiag ツールと、LDP.EXE によって使用される removeLingeringObject rootDSE プリミティブと組み合わせて利用 repadmin /removelingeringobjects されます。

利点と可用性

ツールの使用方法の詳細については、こちらの ASKDS ブログ投稿 を参照してください。

主な機能

  • プロンプトを表示せずに、すべてのドメイン コントローラー (DC) 全体のすべての残留オブジェクトを削除します。
  • フォレスト内のすべての DC で (n * (n-1)) 比較を実行します。
  • トポロジ検出を実行します。これにより、残留オブジェクトの比較 (ソースとターゲット) に使用する DC を選択して選択できます。
  • 残留オブジェクトの一覧を CSV ファイルとしてエクスポートします。これにより、オフラインで編集した後、ツールにインポートして、必要に応じてオブジェクトを削除できます (高度な削除操作に役立ちます)。
  • 新しいオブジェクトを残留オブジェクトからハイドレートする必要がある場合に備え、オブジェクトの内容をログ ファイルに保存します。

ツールの要件

  • 残留オブジェクトを削除するフォレスト内の DC またはメンバー コンピューターで、残留オブジェクトリキエーターをダウンロードして実行します。

  • Microsoft .NET Framework 4.5.2 は、ツールを実行しているコンピューターにインストールする必要があります。

  • アクセス許可: ツールを実行しているユーザー アカウントには、実行中のコンピューターが存在するフォレスト内の各ドメインのドメイン管理者資格情報が必要です。 Enterprise Administrators グループのメンバーは、既定でフォレスト内のすべてのドメインにドメイン管理者の資格情報を持っています。 ドメイン管理者の資格情報は、1 つのドメインまたは単一のドメイン フォレストで十分です。

  • スキャンが必要な DC でリモート イベント ログ管理 (RPC) ファイアウォール規則を有効にする必要があります。 それ以外の場合、ツールは "例外: RPC サーバーが使用できません" エラーを返します。

    ファイアウォール規則が有効になっているリモート イベント ログ管理 (RPC) プロパティ ウィンドウのスクリーンショット。
    [例外: RPC サーバーが使用不可] エラーを示す [残留オブジェクト検出] ウィンドウのスクリーンショット。
  • Active Directory ライトウェイト ディレクトリ サービス (AD LDS/ADAM) 環境での残留オブジェクトの清算はサポートされていません。

チュートリアル

残留オブジェクト検出

ドメイン管理者 (フォレスト全体をスキャンする場合はエンタープライズ管理者) としてツールを実行します。 これを行うには、次の手順に従います。

注:

ツールが管理者特権で実行されていない場合は、エラー 8453 が表示されます。

[残留オブジェクトリキテーター] ウィンドウのスクリーンショット。

  1. [トポロジの検出] セクションで、[高速] を選択します。

    高速検出では、ローカル DC にクエリを実行することで、名前付けコンテキスト、参照 DC、およびターゲット DC の一覧が設定されます。 徹底的な 検出により、すべての DC をより網羅的に検索し、DC ロケーターと DSBind 呼び出しを利用します。 1 つ以上の DC に到達できない場合、完全な検出が失敗する可能性があることに注意してください。

  2. [残留オブジェクト] タブのフィールドを次に示します。

    名前付けコンテキスト

    [残留オブジェクト] タブの [名前付けコンテキスト] フィールドのスクリーンショット。

    リファレンス DC

    これは、ターゲット DC と比較する DC です。 参照 DC は、パーティションの書き込み可能なコピーをホストします。

    [残留オブジェクト] タブの [参照 DC] フィールドのスクリーンショット。

    注:

    フォレスト内のすべての DC は、参照 DC として不適切な場合でも表示されます (ChildDC2 は RODC であり、DC の書き込み可能なコピーをホストしないため、有効な参照 DC ではありません)。

    ターゲット DC

    残留オブジェクトが削除されるターゲット DC。

    [残留オブジェクト] タブの [ターゲット DC] フィールドのスクリーンショット。

  3. [検出] をクリックしてこれらの DC を比較に使用するか、すべてのフィールドを空白のままにして環境全体をスキャンします。

    このツールは、すべてのフィールドが空白のままになっている場合に、すべてのパーティションのすべての DC とペアごとの比較を行います。 大規模な環境では、この比較では、ローカルに保持されているすべてのパーティションのフォレスト内の DC の数 (n * (n-1)) の操作がターゲットであるため、この比較にはかなりの時間 (場合によっては数日) かかります。 短いターゲット操作の場合は、名前付けコンテキスト、参照 DC、およびターゲット DC を選択します。 参照 DC は、選択した名前付けコンテキストの書き込み可能なコピーを保持する必要があります。 [停止] をクリックしても、実際にはサーバー側 API は停止せず、クライアント側ツールの作業を停止するだけです。

    [検出] ボタンが表示された [残留オブジェクトリキテーター] ウィンドウのスクリーンショット。

    スキャン中に複数のボタンが無効になり、現在のツールの状態と共に、画面の下部にあるステータス バーに残留オブジェクトの現在の数が表示されます。 この実行フェーズでは、ツールはアドバイザリ モードで実行され、各ターゲット DC で報告されるイベント ログ データを読み取ります。

    ステータス バーに表示されている残留オブジェクトの現在の数を示す [残留オブジェクトのリキテーター] ウィンドウのスクリーンショット。

    スキャンが完了すると、ステータス バーが更新され、ボタンが再度有効になり、残留オブジェクトの合計数が表示されます。 ウィンドウの下部にある [結果] ウィンドウが更新され、スキャン中に発生したエラーが表示されます。

    状態ウィンドウにエラー 1396 またはエラー 8440 が表示される場合は、ツールの初期ベータ プレビュー バージョンを使用しており、最新バージョンに更新する必要があります。 - ツールが RODC を参照 DC として誤って使用した場合、エラー 1396 が記録されます。 - ターゲット参照 DC がパーティションの書き込み可能なコピーをホストしていない場合、エラー 8440 がログに記録されます。

    残留オブジェクトリキテーター検出方法に関する注意事項

    • アドバイザリ モードで DRSReplicaVerifyObjects メソッドを利用します。
    • すべての DC とすべてのパーティションに対して実行されます。
    • 残留オブジェクト イベント ID 1946 を収集し、コンテンツ ウィンドウにオブジェクトメイン表示します。
    • オフライン分析 (またはインポートの変更) のために、一覧を CSV にエクスポートできます。
    • CSV インポートからのオブジェクトのインポートと削除をサポートします (DRSReplicaVerifyObjects を使用して検出できないオブジェクトの活用)。
    • DRSReplicaVerifyObjects および LDAP rootDSE removeLingeringobjects の変更によるオブジェクトの削除をサポートします。

    このツールは、DRSReplicaVerifyObjects によって公開されるアドバイザリ モード メソッドを利用します。このメソッドは、両方 repadmin /removelingeringobjects /Advisory_Mode とも repldiag /removelingeringobjects 使用します。 各 DC でログに記録される通常のアドバイザリ モード関連のイベントに加えて、メイン コンテンツ ウィンドウ内に残留オブジェクトのそれぞれが表示されます。

    メイン コンテンツ ウィンドウ内に残留オブジェクトが表示されている [残留オブジェクトのリキテーター] ウィンドウのスクリーンショット。

    スキャンの結果は、[結果] ウィンドウに記録されます。 すべての操作の詳細の多くは、ツールの実行可能ファイルと同じディレクトリ内の残留<Date-TimeStamp>.log.txt ファイルに記録されます。

    [エクスポート] ボタンを使用すると、メイン ウィンドウに一覧表示されているすべての残留オブジェクトの一覧を CSV ファイルにエクスポートできます。 Excel でファイルを表示し、必要に応じて変更し、後で [インポート] ボタンを使用して、新しいスキャンを行わずにオブジェクトを表示します。 インポート機能は、削除する必要がある破棄されたオブジェクト (DRSReplicaVerifyObjects では検出できない) を検出する場合にも便利です。

    一時的な残留オブジェクトに関する注意:

    ガベージ コレクションは、既定で 12 時間ごとに各 DC で実行される独立したプロセスです。 そのジョブの 1 つは、削除され、廃棄石の有効期間日数を超えて廃棄石として存在しているオブジェクトを削除することです。 ガベージ コレクションの対象となるオブジェクトが一部の DC に存在するが、他の DC のガベージ コレクション プロセスによって既に削除されている、ローリング 12 時間の期間があります。 これらのオブジェクトはツールによって残留オブジェクトとしても報告されますが、次回ガベージ コレクター プロセスが DC で実行されるときに自動的に削除されるため、アクションは必要ありません。

  4. 個々のオブジェクトを削除するには、Ctrl キーまたは Shift キーを使用して、1 つのオブジェクトを選択するか、複数のオブジェクトを複数選択します。 Ctrl キーを押して複数のオブジェクトを選択するか、Shift キーを押してオブジェクトの範囲を選択し、[削除] を選択 します

    [削除] ボタンを使用して個々のオブジェクトを削除する [残留オブジェクトリキテーター] ウィンドウのスクリーンショット。

    [残留オブジェクトの削除] ウィンドウのスクリーンショット。選択した 3 つのオブジェクトを削除する必要があることを示しています。

    ステータス バーは、残留オブジェクトの新しい数と削除操作の状態で更新されます。

    残留オブジェクトリキテーターのステータス バーのスクリーンショット。

    このツールは、削除前に各オブジェクトの属性の一覧をダンプし、オブジェクトの削除の結果と共に removedLingeringObjects.log.txt ログ ファイルに記録します。 このログ ファイルは、ツールの実行可能ファイルと同じ場所にあります。 C:\tools\LingeringObjects\removedLingeringObjects<DATE-TIMEStamp.log.txt

    ログ ファイルの内容の例:

    obj DN: <GUID=0bb376aa1c82a348997e5187ff012f4a>; <SID=01050000000000000515000000000609701d7b0ce8f6a3e529d669f040000;>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:S-1-5-21-3607205728-1787809456-1721586238-1183;primaryGroupID:513;
    sAMAccountType:805306368;
    uSNChanged:32958;
    objectCategory:<GUID=11ba1167b1b0af429187547c7d089c61>;CN=Person,CN=Schema,CN=Configuration,DC=root,DC=contoso,DC=com;
    whenChanged:20121126224322.0Z;
    cn:<CN_Name>;
    uSNCreated:32958;
    l:ボルダー;
    distinguishedName:<GUID=0bb376aa1c82a348997e5187ff012f4a>; <SID=01050000000000000515000000000609701d7b0ce8f6a3e529d669f040000;>CN=<CN_Name,OU>=<OU_Name,DC>=root,DC=contoso,DC=com;
    displayName:<CN_Name>;
    st:コロラド;
    dSCorePropagationData:16010101000000.0Z;
    userPrincipalName:<User_Name>@root.contoso.com;
    givenName:<User_Name>;
    instanceType:0;
    sAMAccountName:<Account_Name>;
    userAccountControl:650;
    objectGUID:aa76b30b-821c-48a3-997e-5187ff012f4a;
    value は :<GUID=70ff33ce-2f41-4bf4-b7ca-7fa71d4ca13e>:<GUID=aa76b30b-821c-1 48a3-997e-5187ff012f4a> Lingering Obj CN=<CN_Name,OU>=<OU_Name,DC>=root,DC=contoso,DC=com がディレクトリから削除されます, mod 応答の結果コード = 成功
    ---------------------------------------------
    RemoveLingeringObject が成功を返しました

    すべてのオブジェクトを識別した後、すべてのオブジェクトを選択し、[削除] を選択して一括削除したり、CSV ファイルにエクスポートしたりできます。 CSV ファイルを後で再度インポートして、一括削除を行うことができます。 残留オブジェクトの削除方法を利用 repadmin /removelingeringobject する [すべて削除] ボタンがあることに注意してください

サポート: このツールは多くの環境で徹底的にテストされていますが、そのまま提供 されます。公式の Microsoft サポートは提供されません。

ツールに関する質問またはフィードバック:

この ブログ投稿にコメントを追加するか、 UserVoice フィードバック ページにアイデアを送信します。"残留オブジェクトリキテーター" カテゴリを使用してアイデアをコーディングしてください。

残留オブジェクトを含むラボ環境でこのツールを使用する場合は、トラブルシューティング Active Directory の残留オブジェクト TechNet Virtual Lab にアクセスします。

ワークフロー

残留オブジェクトのワークフローのスクリーンショット。

詳細

削除方法 オブジェクト/パーティションの & と削除機能 詳細
残留オブジェクトリキテーター オブジェクトごととパーティションごとの削除

活用:
- 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 インポート スクリプトを使用して実行されます) オブジェクトごとの削除
- 別の検出方法が必要
- スクリプト化されていない限り、実行ごとに 1 つのオブジェクトを削除します。
Repadmin /removelingeringobjects パーティションごとの削除

活用:
- DRSReplicaVerifyObjects メソッド

- コマンド ラインのみ
- DRSReplicaVerifyObjects を使用した組み込みの検出
- DC 上のイベントで検出されたオブジェクトを表示します
- 包括的な (n * (n-1)) ペアごとのクリーンアップが必要な場合は、多くの実行が必要です。

repldiag ツールと残留オブジェクトリキエーター ツールは、このタスクを自動化します。