次の方法で共有


AD レプリケーション エラー 8240 のトラブルシューティング: "サーバー上にそのようなオブジェクトがありません"

この記事では、失敗し、Win32 エラー 8240 を生成する Active Directory ドメイン Services (AD DS) 操作の現象、原因、および解決策について説明します。

Note

ホーム ユーザー: この記事は、テクニカル サポート 担当者と IT プロフェッショナルのみを対象としています。 問題の解決に関するヘルプをお探しの場合は、microsoft コミュニティ 確認してください

適用対象: サポートされているすべてのバージョンの Windows Server
元の KB 番号: 2680976

現象

エラー 8240 (0x2030またはERROR_DS_NO_SUCH_OBJECT) は、AD DS で特定のオブジェクトが見つからなかったことを示します。 このエラーは、異なる条件下で異なる症状を示す 2 つの異なる状況で発生する可能性があります。 このセクションでは、主な症状とその発生方法について説明します。

状況 1: ドメイン コントローラーがグローバル カタログを検索するときに NTDS イベント ID 1126 を生成する

ドメイン コントローラーは、NTDS General イベント ID 1126 をディレクトリ サービス イベント ログに記録します。 イベント データには、エラー 8240 が表示されます。

イベントの種類: エラー
イベント ソース: NTDS General
イベント カテゴリ: グローバル カタログ
イベント ID: 1126
日付: <DateTime>
時刻: <DateTime>
ユーザー: NT AUTHORITY\ANONYMOUS LOGON
Computer: ComputerName
説明:
Active Directory がグローバル カタログとの接続を確立できませんでした。

追加データ
エラー値:
8240 サーバーにそのようなオブジェクトはありません。
内部 ID:
3200ba0

状況 2: ドメイン コントローラーが AD DS 操作中にエラー 8240 を生成する

次の表に、エラー 8240 が表示される条件を示します。

アクション 症状
windows コマンド プロンプトで Repadmin /ShowReps コマンドを実行します。 次のメッセージのような出力が表示されます。

<SiteName>\<DCName>
objectGuid: <GUID>
最後の試行 @ <Time> 失敗し、結果 8240:
サーバーにそのようなオブジェクトはありません。
最後の成功 @ (なし)。
Active Directory サイトとサービス (dssite.msc) の Replicate now コマンドを使用して、選択した接続間でドメイン コントローラーを強制的にレプリケートします。 次のメッセージのようなメッセージが表示されます。

ドメイン コントローラー <Source-DCName> からドメイン コントローラー <Destination-DCName に名前付けコンテキスト <Naming-Context> を同期しようとしたときに、次のエラーが発生しました>
サーバーにそのようなオブジェクトはありません。 この操作は続行されません。
ドメイン コントローラーから Active Directory を削除しようとするとします。 Active Directory インストール ウィザードで次のエラー メッセージが表示されます。

Active Directory は、ディレクトリ パーティション <Naming-Context> 内の残りのデータをドメイン コントローラー <DCName> に転送できませんでした。 "サーバーにこのようなオブジェクトはありません。"

Note

前の表では、次の変数を使用します。

  • <SiteName>: ドメイン コントローラーが属しているサイト。
  • <DCName>: ドメイン コントローラーの名前。
  • <GUID>: エラーを生成したオブジェクトの GUID。
  • <名前付けコンテキスト>: エラーを生成したオブジェクトの名前付けコンテキスト。
  • <Source-DCName>: オブジェクトを別のドメイン コントローラーにレプリケートしたドメイン コントローラーの名前。
  • <Destination-DCName>: レプリケートされたオブジェクトを受信したドメイン コントローラーの名前。

状況 1 の原因と解決策: ドメイン コントローラーがグローバル カタログを検索するときに NTDS イベント ID 1126 を生成する

Windows がユニバーサル グループ メンバーシップの検索などのタスクを実行する場合、システムはグローバル カタログ ロール (グローバル カタログ サーバー、または VC) を持つドメイン コントローラーに依存します。 使用可能な GC が見つからない場合は、NTDS イベント ログにイベント ID 1126 が記録されます。 イベントにはエラー コード 8240 が含まれています。

VC の詳細については、「 Planning Global Catalog Server Placement」を参照してください。

既存の GC を確認する

次のステップを実行します。

  1. フォレストに GC があるかどうかを確認します。 たとえば、フォレスト内のコンピューターの Windows PowerShell ウィンドウで、次のコマンドを実行します。

    Get-ADDomainController -Discover -Service "GlobalCatalog"
    
  2. 次のいずれかの操作を行います。

    • コマンドで少なくとも 1 つの GC が識別された場合は、GC とイベントを生成したドメイン コントローラーとの間の通信の問題を確認します。
    • コマンドで GC が見つからなかった場合は、次の手順に進み、フォレストに GC を追加します。 それ以外の場合は、 GC 接続と可用性の確認に移動します。

フォレストに GC を追加する

新しいドメイン コントローラーを作成し、GC として指定することで、GC を追加できます。 グローバル カタログ サーバーの役割を既存のドメイン コントローラーに追加するには、次の手順に従います。

  1. Active Directory サイトとサービス (dssite.msc を開きます。サーバー マネージャーの Tools メニューでも使用できます)。

  2. サイトを展開し、変更するドメイン コントローラーを選択します。

  3. 右側のウィンドウで、NTDS サイトの設定を右クリックし、Properties を選択します。

  4. [ General タブで グローバル カタログを選択し、 OK を選択します。

    Note

    Active Directory サイトとサービスでドメイン コントローラーを GC としてマークした後、新しい GC が完全に使用可能になるまでに時間がかかる場合があります。 ナレッジ整合性チェッカー (KCC) は、新しいレプリケーション トポロジを計算し、グローバル カタログを構築し、 GC-ready アナウンスを送信する必要があります。 遅延は、レプリケーション スケジュール、必要な読み取り専用の名前付けコンテキストのレプリケートに使用される時間、および KCC アクティビティの間隔によって異なります。

GC 接続と可用性を確認する

  1. DNS からドメイン コントローラーを取得できるかどうかを確認します。 ドメイン内のコンピューターで、コマンド プロンプト ウィンドウを開き、次のコマンドを実行します。

    NLTest.exe /DnsGetDC:<DomainName> /GC /Force
    

    Note

    このコマンドでは、 <DomainName> は新しい GC のドメインの名前を表します。

    DNS で GC レコードに対してクエリを実行できない場合は、 isGlobalCatalogReady 属性の値を確認してください。 これを行うには、次のいずれかのアクションを実行します。

    • PowerShell ウィンドウを開き、次のコマンドを実行します。

      Get-ADRootDSE -Server <GC_Name> | fl serverName , isGlobalCatalogReady
      

      Note

      このコマンドでは、 <GC_Name> は GC の名前を表します。

    • コマンド プロンプト ウィンドウを開き、次のコマンドを実行します。

      ldp.exe <GC_Name>:389
      

    どちらの場合も、 isGlobalCatalogReady の値は TRUE にする必要があります。 値が FALSE の場合、レプリケーション サイクルがまだ完了していないか、別の問題がサーバーに影響しています。

  2. ポート 3268 を使用して GC に接続できるかどうかを確認します。 コマンド プロンプトで次のコマンドを実行します。

    ldp.exe <GC_Name>:3268
    

    Note

    • このコマンドでは、 <GC_Name> は GC の名前を表します。
    • 手順 1 でldp.exeを使用した場合は、それを閉じてから、新しいポートを使用してもう一度起動します。

状況 2 の原因と解決策: AD DS 操作中にドメイン コントローラーでエラー 8240 が生成される

AD DS フォレストでは、各ドメイン コントローラーはフォレスト オブジェクトに関する情報を保持します。 オブジェクトへの変更は、単一の (ソース) ドメイン コントローラーで開始されます。 そこから、変更はソース ドメイン コントローラーのレプリケーション パートナー (宛先ドメイン コントローラー) にレプリケートされます。 これらのドメイン コントローラーは変更をさらにレプリケートし、最終的には、すべてのドメイン コントローラーが更新されたオブジェクトについて "認識" します。 エラー 8240 に関連する 2 つのドメイン コントローラー間のレプリケーション プロセスは、次の手順に従います。

手順 1: 移行元ドメイン コントローラーは、移行先ドメイン コントローラーに変更を通知します。

手順 2: 通知を受け取った後、移行先ドメイン コントローラーはソース ドメイン コントローラーから変更をプルします。

手順 3: 各宛先ドメイン コントローラーは、変更を適用するためにオブジェクトのローカル コピーを検索します。

手順 4: 宛先ドメイン コントローラーでオブジェクトのローカル コピーが見つからない場合、エラー 8240 が生成されます。

次のような理由により、オブジェクトが見つからない可能性があります。

  • ソース ドメイン コントローラー上のオブジェクトは、 リンガー オブジェクトです。 これは、オブジェクトがフォレストから削除されたが、何らかの理由で、ソース ドメイン コントローラーがこの変更を受け取らなかったことを意味します。 さらに、ソース ドメイン コントローラーがレプリケートを再開する前に、オブジェクトの廃棄石の有効期間 (TSL) の有効期限が切れています。
  • すべての移行先ドメイン コントローラーが変更をプルする前に、ソース ドメイン コントローラーが降格されました。 ただし、変更は GC にレプリケートされます。

影響を受けるドメイン コントローラーを特定し、ソリューションを選択する

この問題を解決するための最初の手順は、どのデータに一貫性がなく、どのドメイン コントローラーが影響を受けるかを理解することです。

レプリケーション トランザクションでは、エラー 8240 を生成したドメイン コントローラーが宛先ドメイン コントローラーです。 不整合なオブジェクトは、このドメイン コントローラーには存在しませんが、ソース ドメイン コントローラーには存在します。 一部のコンテキストでは、エラー 8240 のテキストによってソース ドメイン コントローラーが識別されます。 他の人では、それはしません。 複雑なレプリケーション トポロジでは、Active Directory サイトとサービス、および移行先コントローラーのイベント ログを使用して、ソース ドメイン コントローラーの ID を確認する必要がある場合があります。 さらに、これらのツールを使用して、同じ問題を報告する可能性があるソース ドメイン コントローラーの他のレプリケーション パートナーを特定できます。

次に、オブジェクトを削除するか、オブジェクトをそのままにするか、影響を受けるドメイン コントローラーをリセットするかを決定します。 以下のセクションでは、これらの各オプションについて詳しく説明します。

オプション 1: ソース ドメイン コントローラーから不整合なオブジェクトを削除する

不整合なオブジェクトを削除するには、それらを残留オブジェクトとして扱うことができます。 Lingering Object Liquidator v2 (LoLv2)を使用して、残留オブジェクトを削除することをお勧めします。 LoLv2 の詳細については、以下を参照してください。

LoLv2 を使用できない場合があります。 代わりに、 Repadmin.exeを使用できます。 これを行うには、「Active Directory レプリケーション イベント ID 2042: このマシンがレプリケートされてから長すぎます:残留オブジェクトの識別」で説明されているように、repadmin /removelingeringobjects コマンドをアドバイザリ モードで実行します。

残留オブジェクトの詳細については、「 Windows Server Active Directory フォレスト内の残留オブジェクトを検出して削除する方法を参照してください。

オプション 2: 一貫性のないオブジェクトを保持し、フォレストに統合する

重要

このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 したがって、次の手順を注意深く実行してください。 保護のために、レジストリを変更する前にレジストリをバックアップして、問題が発生した場合にレジストリを復元できるようにします。 レジストリのバックアップと復元方法の詳細は、「Windows のレジストリのバックアップおよび復元の方法」を参照してください。

不整合なオブジェクトを保持し、フォレストの残りの部分にレプリケートする場合は、移行先ドメイン コントローラーで次のレジストリ キーを構成します。

  • サブキー: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
    名前: Strict Replication Consistency
    種類: REG_DWORD
    データ: 0

  • サブキー: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
    名前: Allow Replication With Divergent and Corrupt Partner
    種類: REG_DWORD
    データ: 1

    サブキー: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
    名前: Correct Missing Object
    種類: REG_DWORD
    データ: 1

これらのレジストリ エントリを更新した後、変更がソース ドメイン コントローラーにレプリケートされる時間を許可します。 または、Active Directory サイトとサービスの Replicate now コマンドを使用して、移行元ドメイン コントローラーで特定の接続を使用して、移行先ドメイン コントローラーに変更をレプリケートするように強制することもできます。

重要

多くのドメイン コントローラーを含む大規模な環境では注意してください。 一貫性のないオブジェクトがフォレストを介してレプリケートされると、レプリケーションが完了するまで、より多くのドメイン コントローラーが 8240 エラーを報告する可能性があります。

オプション 3: 不整合なドメイン コントローラーを削除して再作成する

もう 1 つのオプションは、フォレストをメンバー サーバーに降格することによって、ソース ドメイン コントローラーから強制的に削除することです。 次に、フォレスト内のサーバーのメタデータをクリーンアップしてから、サーバーを再昇格します。 この操作により、AD DS が再インストールされます。 その後、フォレスト データの新しいコピーが新しいドメイン コントローラーにレプリケートされます。

ソース ドメイン コントローラーを削除して再作成するには、次の手順に従います。

  1. ソース ドメイン コントローラーで、管理 PowerShell ウィンドウを開き、次のコマンドを実行します。

    Uninstall-ADDSDomainController -Force
    

    Note

    サーバー マネージャーの役割と機能の削除ウィザードを使用して、このタスクを実行することもできます。 ウィザードで、 [このドメイン コントローラーの削除を強制する] を選択していることを確認します。 詳細については、「 ドメイン コントローラーとドメインのデモ: 資格情報」を参照してください。

  2. フォレストで、降格されたドメイン コントローラーに関連するメタデータをクリーンアップします。

    Note

    メタデータのクリーンアップには、いくつかの方法が考えられます。 詳細については、次の記事をご覧ください。

  3. サーバーをドメイン コントローラーに昇格します。 サーバー マネージャーまたは PowerShell を使用して、サーバーを昇格できます。 元のドメイン コントローラーの作成に使用した方法とオプションを使用することをお勧めします。

  4. インストールと昇格プロセスが完了し、フォレスト データがレプリケートされるまで待ちます。 イベント ビューアーを使用して、このプロセスに従うことができます。

Microsoft サポートのデータの収集

Microsoft サポートからのサポートが必要な場合は、Gather 情報に記載されている手順に従って、Active Directory レプリケーションの問題に TSS を使用して関連情報を収集することをお勧めします

詳細

詳細については、「 グローバル カタログ サーバーに Windows Server ドメイン コントローラーを昇格できないを参照してください。