Isso levará algum tempo para consertar.
Para parar toda a replicação, execute:
repadmin /options +DISABLE_OUTBOUND_REPL
Em todos os CDs. Lembre-se de que a configuração acima não impede ações de replicação manual, como um administrador (você) em execução repadmin /syncall /APed
, etc. Mas isso é bom, pois permite que todos os seus DCs sejam sincronizados totalmente antes de reativar a replicação regular.
Repadmin determina que é um objeto remanescente se o objeto existir no ServerA, mas não no ServerB, onde ServerB é o controlador de domínio de referência. A diferença entre replicar objetos recém-criados e replicar atualizações para objetos já existentes é a chave. Replicar objetos criados recentemente = bom. Replicar atualizações para objetos já existentes = bom. Replicar atualizações em objetos que não existem no destino DC = incorreto.
Você só precisa ensaboar, enxaguar e repetir até que todos os CDs correspondam ao seu único CD de referência. Em seguida, ative a consistência rigorosa em todos os lugares e reative a replicação. Sim, você corre o risco de excluir objetos legítimos criados em outros DCs remotos que não foram replicados no seu DC de referência.
No excelente artigo " Como o modelo de replicação do Active Directory funciona ":
Configuração de consistência de replicação
Se os atributos em um objeto remanescente nunca mudarem, o objeto nunca será considerado para replicação. No entanto, se um atributo for alterado, o atributo será considerado para replicação de saída. Como o controlador de domínio de destino não mantém o objeto para o atributo que está sendo replicado, uma atualização não pode ser executada. Como essa condição é resolvida depende da configuração de consistência da replicação no controlador de domínio.
Uma configuração de registro em controladores de domínio que executam o Windows Server 2003 ou o Windows 2000 Server com SP3 fornece um valor de consistência que determina se um controlador de domínio replica e reanima um objeto atualizado que foi excluído de todas as outras réplicas ou se a replicação desses objetos é bloqueado. As configurações padrão são diferentes nos controladores de domínio que executam o Windows 2000 Server com SP3 e Windows Server 2003.
Consistência estrita de replicação
Para evitar problemas com a reanimação de objetos que foram excluídos, um controlador de domínio executando o Windows Server 2003 em uma floresta do Windows Server 2003 recém-criada (não atualizada) bloqueia a replicação de entrada por padrão quando recebe uma atualização para um objeto que não possui. .
Nota • A replicação do Active Directory usa o rastreamento de atualização para diferenciar entre replicar um objeto recém-criado e atualizar um atributo para um objeto existente. A replicação de um objeto remanescente é uma tentativa de atualizar um atributo ou atributos de um objeto que o controlador de domínio de destino não pode atualizar porque o objeto não existe.
A replicação é interrompida na partição de diretório do objeto até que o objeto remanescente seja removido do controlador de domínio de origem ou a configuração estrita de consistência de replicação seja desabilitada.
Quando o ServerB diz ao ServerA: "Ei, algumas atualizações foram feitas no objeto A existente". Em seguida, o ServerA diz: "Espere o quê? Eu nem tenho o objeto A. Envie-me o objeto inteiro!" Se nenhuma consistência estrita. Se for consistente, o ServerA diz: "Espere o quê? Como você espera que eu atualize um objeto que não existe? Vá se dobrar!"
Para descobrir se você tem objetos remanescentes em um controlador de domínio:
repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition /advisory_mode
ServerGUID é o conhecido DC de referência válida. Eu sei que você já sabe disso ... e como fazer o script da linha acima para executá-la em todos os controladores de domínio ... ( foreach ($DC In $(Get-ADDomain).ReplicaDirectoryServers) { }
) ...
Você precisa de uma boa fonte DC para comparar com os resultados. Se você não tem um CD de boa fonte conhecido ou não sabe, basta escolher um. Deve ser um GC gravável, é claro. É relativo - se todos os controladores de domínio concordam com a existência de um objeto e com os atributos desse objeto ... então não é um objeto remanescente.
foreach($GC In $(Get-ADForest).GlobalCatalogs) { repadmin /removelingeringobjects $_.name 85d158d2-a006-4fff-b1e5-f9b6eaabab2b '$directoryPartition'
Isso está sincronizando novamente a partição de diretório de cada GC na floresta com a fonte válida conhecida que você precisa especificar como GUID.
Depois que você tiver todos os seus controladores de domínio mais uma vez de acordo, e a replicação for feliz ... você começará a lançar uma rigorosa consistência em todos eles.
Edit: Esta é a linha da Microsoft sobre o assunto, e o que eles provavelmente vão conversar com você, se você ligar para eles.
Finalmente, pode ser mais difícil corrigir o problema do que vale, a menos que esteja causando problemas. Detesto dizer isso, mas o AD ainda pode funcionar normalmente com objetos remanescentes.