Dies kann einige Zeit in Anspruch nehmen.
Führen Sie Folgendes aus, um die gesamte Replikation zu stoppen:
repadmin /options +DISABLE_OUTBOUND_REPL
Auf allen DCs. Beachten Sie, dass die oben genannte Einstellung manuelle Replikationsaktionen wie das Ausführen eines Administrators (Sie) repadmin /syncall /APed
usw. nicht verhindert . Dies ist jedoch eine gute Sache, da Sie alle DCs wieder vollständig synchronisieren können, bevor Sie die regelmäßige Replikation wieder aktivieren.
Repadmin stellt fest, dass es sich um ein veraltetes Objekt handelt, wenn das Objekt auf ServerA, jedoch nicht auf ServerB vorhanden ist, wobei ServerB der Referenz-DC ist. Der Unterschied zwischen dem Replizieren neu erstellter Objekte und dem Replizieren von Aktualisierungen bereits vorhandener Objekte ist der Schlüssel. Neu erstellte Objekte replizieren = gut. Aktualisierungen an bereits vorhandenen Objekten replizieren = gut. Aktualisierungen für Objekte replizieren, die auf dem Ziel-DC nicht vorhanden sind = fehlerhaft.
Sie müssen nur aufschäumen, ausspülen und wiederholen, bis alle DCs mit Ihrem einen guten Referenz-DC übereinstimmen. Aktivieren Sie dann überall die strikte Konsistenz und aktivieren Sie die Replikation erneut. Ja, Sie laufen Gefahr, legitime Objekte zu löschen, die auf anderen Remote-DCs erstellt wurden, die nicht auf Ihren Referenz-DC repliziert wurden.
Aus dem großartigen Artikel "Funktionsweise des Active Directory-Replikationsmodells ":
Replikationskonsistenz-Einstellung
Wenn sich die Attribute eines veralteten Objekts niemals ändern, wird das Objekt niemals für die Replikation berücksichtigt. Wenn sich jedoch ein Attribut ändert, wird das Attribut für die ausgehende Replikation berücksichtigt. Da der Zieldomänencontroller das Objekt für das zu replizierende Attribut nicht enthält, kann keine Aktualisierung durchgeführt werden. Wie diese Bedingung gelöst wird, hängt von der Einstellung der Replikationskonsistenz auf dem Domänencontroller ab.
Eine Registrierungseinstellung auf Domänencontrollern, auf denen Windows Server 2003 oder Windows 2000 Server mit SP3 ausgeführt wird, enthält einen Konsistenzwert, der bestimmt, ob ein Domänencontroller ein aktualisiertes Objekt repliziert und erneut reaktiviert, das aus allen anderen Replikaten gelöscht wurde, oder ob die Replikation solcher Objekte durchgeführt wird verstopft. Die Standardeinstellungen unterscheiden sich auf Domänencontrollern, auf denen Windows 2000 Server mit SP3 und Windows Server 2003 ausgeführt wird.
Strikte Replikationskonsistenz
Um Probleme bei der Neuerstellung gelöschter Objekte zu vermeiden, blockiert ein Domänencontroller, auf dem Windows Server 2003 in einer neu erstellten (nicht aktualisierten) Windows Server 2003-Gesamtstruktur ausgeführt wird, standardmäßig die eingehende Replikation, wenn er ein Update für ein Objekt erhält, das nicht vorhanden ist .
Hinweis • Bei der Active Directory-Replikation wird die Update-Verfolgung verwendet, um zwischen der Replikation eines neu erstellten Objekts und der Aktualisierung eines Attributs für ein vorhandenes Objekt zu unterscheiden. Die Replikation eines veralteten Objekts ist ein Versuch, ein Attribut oder Attribute eines Objekts zu aktualisieren, das der Zieldomänencontroller nicht aktualisieren kann, weil das Objekt nicht vorhanden ist.
Die Replikation wird in der Verzeichnispartition für das Objekt angehalten, bis das veraltete Objekt vom Quelldomänencontroller entfernt oder die Einstellung für die strikte Replikationskonsistenz deaktiviert wurde.
Wenn ServerB zu ServerA sagt: "Hey, es wurden einige Aktualisierungen an vorhandenem objectA vorgenommen." Dann sagt ServerA: "Warten Sie, was? Ich habe noch nicht einmal objectA. Senden Sie mir das gesamte Objekt!" Wenn keine strenge Übereinstimmung. Bei strikter Übereinstimmung sagt ServerA: "Warten Sie, was? Wie soll ich ein Objekt aktualisieren, das nicht vorhanden ist? Los, beugen Sie sich!"
So stellen Sie fest, ob sich auf einem Domänencontroller veraltete Objekte befinden:
repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition /advisory_mode
ServerGUID ist der bekanntermaßen gute Referenz-DC. Ich weiß, dass Sie dies bereits wissen ... und wie Sie die obige Zeile skripten, um sie auf allen DCs auszuführen ... ( foreach ($DC In $(Get-ADDomain).ReplicaDirectoryServers) { }
) ...
Sie benötigen einen guten Quell-DC, um mit dem Endergebnis zu vergleichen. Wenn Sie keine gute Quelle DC haben oder nicht wissen, müssen Sie nur eine auswählen. Es sollte natürlich ein beschreibbarer GC sein. Es ist relativ - wenn sich alle Domänencontroller über die Existenz eines Objekts und die Attribute dieses Objekts einig sind, ist es kein verweilendes Objekt.
foreach($GC In $(Get-ADForest).GlobalCatalogs) { repadmin /removelingeringobjects $_.name 85d158d2-a006-4fff-b1e5-f9b6eaabab2b '$directoryPartition'
Das heißt, Sie synchronisieren die Verzeichnispartition jedes GC in der Gesamtstruktur erneut mit der als GUID angegebenen, als funktionierend bekannten Quelle.
Nachdem Sie alle Domänencontroller wieder in Übereinstimmung gebracht haben und die Replikation erfolgreich abgeschlossen wurde, können Sie alle Domänencontroller auf strikte Konsistenz überprüfen.
Bearbeiten: Dies ist Microsofts Parteilinie zu diesem Thema, und was sie wahrscheinlich durchsprechen werden, war, dass Sie sie anrufen.
Letztendlich ist es möglicherweise schwieriger, das Problem zu beheben, als es sich lohnt, es sei denn, es verursacht Probleme. Ich hasse es, es zu sagen, aber AD kann mit verweilenden Objekten immer noch normal funktionieren.
repadmin
, in PARALLEL !!!