これを修正するには時間がかかります。
すべてのレプリケーションを停止するには、次を実行します。
repadmin /options +DISABLE_OUTBOUND_REPL
すべてのDC。上記の設定は、管理者(あなた)の実行などの手動レプリケーションアクションを妨げないrepadmin /syncall /APed
ことに注意してください。ただし、通常のレプリケーションを再度有効にする前に、すべてのDCを完全に同期させることができるため、これは良いことです。
Repadminは、オブジェクトがServerAに存在し、ServerBには存在しない場合、残留オブジェクトであると判断します。ServerBは参照DCです。新しく作成されたオブジェクトを複製することと、既存のオブジェクトに更新を複製することの違いが重要です。新しく作成されたオブジェクトの複製=良好。既存のオブジェクトへの更新の複製=良好。宛先DCに存在しないオブジェクトへの更新の複製=悪い。
すべてのDCが適切な基準DCと一致するまで、泡立て、すすぎ、繰り返します。次に、どこでも厳密な整合性をオンにしてから、レプリケーションを再度有効にします。はい、参照DCに複製されていない他のリモートDCで作成された正当なオブジェクトを削除する危険があります。
すばらしい「Active Directoryレプリケーションモデルの仕組み」記事から:
レプリケーションの一貫性設定
残留オブジェクトの属性が変更されない場合、そのオブジェクトはレプリケーションと見なされません。ただし、属性が変更された場合、その属性はアウトバウンド複製と見なされます。宛先ドメインコントローラーはレプリケートされる属性のオブジェクトを保持していないため、更新を実行できません。この状態がどのように解決されるかは、ドメインコントローラーのレプリケーション整合性設定によって異なります。
Windows Server 2003またはWindows 2000 Server SP3を実行しているドメインコントローラーのレジストリ設定は、ドメインコントローラーが他のすべてのレプリカから削除された更新済みオブジェクトを複製および復元するかどうか、またはそのようなオブジェクトの複製がブロックされました。Windows 2000 Server SP3およびWindows Server 2003を実行しているドメインコントローラーでは、デフォルト設定が異なります。
厳密な複製の一貫性
削除されたオブジェクトの復元に関する問題を回避するために、新しく作成された(アップグレードされていない)Windows Server 2003フォレストでWindows Server 2003を実行しているドメインコントローラーは、持っていないオブジェクトの更新を受信すると、既定で受信レプリケーションをブロックします。
注•Active Directoryの複製では、更新の追跡を使用して、新しく作成されたオブジェクトの複製と既存のオブジェクトの属性の更新を区別します。残留オブジェクトの複製とは、オブジェクトが存在しないために宛先ドメインコントローラーが更新できないオブジェクトの属性を更新しようとすることです。
残留オブジェクトがソースドメインコントローラから削除されるか、厳密なレプリケーション一貫性設定が無効になるまで、オブジェクトのディレクトリパーティションでレプリケーションが停止します。
ServerBがServerAに「Hey、既存のobjectAに対していくつかの更新が行われました」と言ったとき。ServerAは次のように言います。「ちょっと待ってください。objectAもまったくありません。オブジェクト全体を送ってください!」厳密な一貫性がない場合。厳密な一貫性がある場合、ServerAは次のように言います。「何を待っているのですか?存在しないオブジェクトをどのように更新するのでしょうか?
ドメインコントローラに残留オブジェクトがあるかどうかを確認するには:
repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition /advisory_mode
ServerGUIDは、既知の優れたリファレンスDCです。あなたはすでにこれを知っています...そして、上記の行をスクリプト化してすべてのDCで実行する方法...(foreach ($DC In $(Get-ADDomain).ReplicaDirectoryServers) { }
)...
一番下の行と比較するためには、優れたソースDCが必要です。既知の良好なソースDCがない場合、またはわからない場合は、いずれかを選択する必要があります。もちろん、書き込み可能なGCである必要があります。それは相対的です-すべてのドメインコントローラーがオブジェクトの存在とそのオブジェクトの属性に同意する場合、それは残留オブジェクトではありません。
foreach($GC In $(Get-ADForest).GlobalCatalogs) { repadmin /removelingeringobjects $_.name 85d158d2-a006-4fff-b1e5-f9b6eaabab2b '$directoryPartition'
これは、フォレスト内のすべてのGCのディレクトリパーティションを、GUIDとして指定する必要がある既知の適切なソースと再同期します。
その後、すべてのドメインコントローラーをすべて一致させ、レプリケーションが正常に完了したら、次に、すべてのドメインコントローラーの厳密な一貫性を有効にします。
編集:これはこの問題に関するMicrosoftのパーティーラインです。
最後に、これはあなたに問題を引き起こさない限り、それが価値があるよりも修正するのがより面倒かもしれません。私はそれを言うのは嫌いですが、ADはその中に残っているオブジェクトでまだ正常に機能します。