Investigar esse problema exigiu que eu usasse um pouco de conhecimento do Active Directory, bem como alguns recursos do Exchange-2010-Management-Shell-fu.
A primeira coisa que verifiquei é se meus dois controladores de domínio estão sendo replicados corretamente. Meu pensamento inicial foi quando atualizei a caixa de seleção Ocultar listas de endereços do Exchange em Usuários e Computadores do Active Directory que eu tinha alterado em um controlador de domínio, que não estava replicando para outro controlador de domínio que o endereço offline Processo de geração de livros aconteceu para escolher. Acontece que os controladores de domínio estão sendo replicados corretamente e esse não é o problema.
A próxima coisa a fazer é verificar alguns atributos do Active Directory e seus valores atuais. Minha ferramenta preferida para fazer coisas de baixo nível com o Active Directory é o ADExplorer da Sysinternals, no entanto, o ADSI Edit faça um trabalho igualmente bom se preferir.
O primeiro atributo que eu observei no usuário é o atributo msExchHideFromAddressLists . Isso deve ser FALSE se o usuário aparecer nas listas de endereços e TRUE se não aparecer. Isso é apenas uma verificação do sentido, pois é o que os Usuários e Computadores do Active Directory atualizam quando você (des) marca a caixa de seleção Ocultar das listas de endereços do Exchange . Isso estava mostrando corretamente TRUE .
O próximo atributo a verificar é showInAddressBook . Esse é um atributo de vários valores que contém todas as listas de endereços nas quais esse usuário deve aparecer. Geralmente, ele deve conter pelo menos uma lista de endereços na qual o usuário deve aparecer, mas para qualquer pessoa que tenha o atributo msExchHideFromAddressLists para TRUE esse atributo não deve ser definido. Essa foi a maior dica, pois esse usuário ainda tinha valores nesse atributo que deveriam ter sido removidos quando a caixa de seleção Ocultar nas listas de endereços do Exchange estava marcada.
O Serviço de Atualização de Destinatário no servidor do Exchange 2003 é responsável por atualizar o valor do atributo showInAddressBook ( entre outros ) no Active Directory, então determinei que, por algum motivo, o Serviço de Atualização de Destinatário não estava funcionando corretamente aqui.
Quando instalei inicialmente o Exchange 2010, tive de executar setup.com /PrepareLegacyExchangePermissions
para conceder ao Serviço de Atualização de Destinatário algumas permissões necessárias, pois o Exchange 2010 altera um pouco as coisas.
Para verificar as permissões, eu abri os usuários e computadores do Active Directory e selecionei View = > Recursos avançados para permitir que eu exiba os atributos de segurança para a conta de usuário no Active Directory. Em seguida, abri o usuário ofensivo e verifiquei na guia de segurança, e comparei isso a outro usuário que deveria ser incluído no Catálogo de Endereços Offline. Embora eu não tenha verificado cada permissão, ficou imediatamente óbvio que o usuário que deveria estar no Catálogo de Endereços Offline tinha muitas mais permissões concedidas do que o usuário que acabara de sair. Verificando alguns outros usuários, eles também tinham muito mais permissões concedidas do que o usuário ofensivo.
Algo que eu notei por acaso é que o usuário ofensivo não estava herdando permissões de objetos pai, enquanto todos os outros usuários que eu verifiquei eram. Eu sei por experiência que isso geralmente só acontece quando o usuário é (ou já foi) um membro de um Grupo privilegiado do Active Directory . Depois de verificar que eles não são mais membros de um grupo privilegiado, voltei para o ADExplorer e mudei o atributo adminCount desse usuário para 0 de 1. Depois voltei para Usuários e Computadores do Active Directory e ativaram esse perfil de usuário para herdar permissões de objetos pai.
Depois disso, entrei nas propriedades dos usuários e desmarcou a caixa de seleção Ocultar das listas de endereços do Exchange e, em seguida, verifiquei novamente. Esperei alguns minutos para que o Recipient Update Service fizesse sua tarefa e, com certeza, cinco minutos depois, quando examinei o objeto de usuário no ADExplorer, o Recipient Update Service removeu os atributos showInAddressBook que não tinha permissão para fazer mais cedo. Uma rápida reconstrução manual do Catálogo de Endereços Offline e todos estão felizes.