Bunu düzeltmek biraz zaman alacaktır.
Tüm çoğaltmayı durdurmak için şunu çalıştırın:
repadmin /options +DISABLE_OUTBOUND_REPL
Tüm DC'lerde. Yukarıdaki ayarın, yönetici (siz) çalışan repadmin /syncall /APed
vb. Gibi manuel çoğaltma işlemlerini engellemediğini unutmayın . Ancak bu iyi bir şeydir, çünkü düzenli çoğaltmayı yeniden etkinleştirmeden önce tüm DC'lerinizi tamamen senkronize etmenizi sağlar.
Repadmin, nesne ServerA'da var, ancak ServerB'de bulunmuyorsa, bunun kalıcı bir nesne olduğunu belirler; burada ServerB, referans DC'dir. Yeni oluşturulan nesneleri çoğaltmak ve varolan nesnelere güncellemeleri çoğaltmak arasındaki fark anahtardır. Yeni oluşturulan nesneleri çoğaltma = iyi. Mevcut nesnelere güncellemeleri çoğaltma = iyi. Hedefte var olmayan nesnelere yapılan güncelleştirmeleri çoğaltma DC = kötü.
Tüm DC'ler iyi bir referans DC'nizle eşleşene kadar sadece köpürtmek, durulamak, tekrarlamanız gerekir. Ardından, her yerde katı tutarlılığı açın, ardından çoğaltmayı yeniden etkinleştirin. Evet, referans DC'nize çoğaltılmamış diğer uzak DC'lerde oluşturulan meşru nesneleri silme riskiniz vardır.
" Active Directory Çoğaltma Modeli Nasıl Çalışır " makalesinden:
Çoğaltma Tutarlılığı Ayarı
Kalan bir nesnenin nitelikleri hiçbir zaman değişmezse, nesne asla çoğaltma için dikkate alınmaz. Ancak, bir özellik değişirse, bu özellik giden çoğaltma için dikkate alınır. Hedef etki alanı denetleyicisi çoğaltılan özniteliğin nesnesini tutmadığından, bir güncelleştirme gerçekleştirilemez. Bu koşulun nasıl çözüleceği, etki alanı denetleyicisindeki çoğaltma tutarlılığı ayarına bağlıdır.
Windows Server 2003 veya Windows 2000 Server SP3 çalıştıran etki alanı denetleyicilerindeki bir kayıt defteri ayarı, etki alanı denetleyicisinin tüm diğer eşlemelerden silinen güncelleştirilmiş bir nesneyi çoğaltıp yeniden canlandırıp yeniden canlandırmayacağını veya bu tür nesnelerin çoğaltılmasının tekrarlanıp tekrarlanmayacağını belirleyen bir tutarlılık değeri sağlar. engelledi. Windows 2000 Server SP3 ve Windows Server 2003 çalıştıran etki alanı denetleyicilerinde varsayılan ayarlar farklıdır.
Sıkı Çoğaltma Tutarlılığı
Silinmiş nesnelerin yeniden canlandırılmasıyla ilgili sorunları önlemek için, yeni oluşturulmuş (yükseltilmemiş) Windows Server 2003 ormanında Windows Server 2003 çalıştıran bir etki alanı denetleyicisi, sahip olmadığı bir nesneye yönelik bir güncelleştirme aldığında varsayılan olarak gelen çoğaltmayı engeller .
Not • Active Directory çoğaltması, yeni oluşturulan bir nesneyi çoğaltma ile varolan bir nesnenin özniteliğini güncelleme arasında ayrım yapmak için güncelleme izlemeyi kullanır. Kalan bir nesnenin çoğaltılması, nesne olmadığından, hedef etki alanı denetleyicisinin güncelleyemediği bir nesnenin özniteliğini veya özniteliklerini güncelleme girişimidir.
Yinelenen nesne, kaynak etki alanı denetleyicisinden kaldırılana veya katı çoğaltma tutarlılığı ayarı devre dışı bırakılana kadar, nesnenin dizin bölümünde çoğaltma durdurulur.
ServerB, ServerA: "Hey, varolan objectA için bazı güncelleştirmeler yapıldı." Sonra ServerA diyor ki: "Bekle? Hiç objectA bile yok. Bana tüm nesneyi gönder!" Eğer katı bir tutarlılık yoksa . Sıkı bir tutarlılık varsa, ServerA şöyle diyor: "Ne bekle? Varolmayan bir nesneyi güncellememi nasıl bekliyorsun? Git git!"
Bir etki alanı denetleyicisinde kalan nesnelerin olup olmadığını bulmak için:
repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition /advisory_mode
ServerGUID bilinen iyi referans DC'dir. Bunu zaten bildiğinizi biliyorum ... ve tüm DC'lerde çalıştırmak için yukarıdaki satırı nasıl yazacağınız ... ( foreach ($DC In $(Get-ADDomain).ReplicaDirectoryServers) { }
) ...
Karşılaştırma yapmak için iyi bir DC kaynağına ihtiyacınız var. İyi bilinen bir DC kaynağınız yoksa veya bilmiyorsanız, sadece bir tane seçmeniz gerekir. Elbette yazılabilir bir GC olmalıdır. Göreceli - tüm etki alanı denetleyicileri bir nesnenin varlığını ve bu nesnenin niteliklerini kabul ederse ... o zaman kalıcı bir nesne değildir.
foreach($GC In $(Get-ADForest).GlobalCatalogs) { repadmin /removelingeringobjects $_.name 85d158d2-a006-4fff-b1e5-f9b6eaabab2b '$directoryPartition'
Bu, ormandaki her GC'nin dizin bölümünü GUID olarak belirtmeniz gereken bilinen iyi bir kaynakla yeniden senkronize eder.
Sonra tüm etki alanı denetleyicilerinizi bir kez daha kabul ettikten ve çoğaltma mutlu olduktan sonra ... o zaman git ve hepsine sıkı bir tutarlılık göstermeye başlıyorsunuz.
Düzenleme: Bu , Microsoft'un bu konudaki parti hattıdır ve muhtemelen sizi konuşacaklardı.
Son olarak, bu sorunlara neden olmadıkça düzeltmek için değerinden daha fazla sorun olabilir. Bunu söylemekten nefret ediyorum, ama AD hala içinde kalan nesnelerle normal şekilde çalışabilir.