segunda-feira, 20 de maio de 2013

Exchange 2007 - Remover e voltar a adicionar caixa de correio dá erro: #550 5.1.1 RESOLVER.ADR.ExRecipNotFound; not found ##


Boa tarde,

Este é mais um daqueles erros com que a Microsoft já nos habituou.

Ora bem, quando se remove uma caixa de correio de um utilizador sem o remover da AD, e por qualquer razão é necessário voltar a adicionar essa caixa de correio, isso vai trazer problemas ( pelo menos no Exchange 2007 )!

Esse utilizador irá receber bem os emails do exterior e internos que não sejam enviados através do Outlook.

Quando o email for enviado através do Outlook o remetente irá receber um email de volta com erro.



Exemplo:
...................................................................................................................................................................

Falha na entrega a estes destinatários ou grupos:

Ze To
Não foi possível encontrar o endereço de correio electrónico que introduziu. Verifique o endereço de correio electrónico do destinatário e tente reenviar a mensagem. Se o problema continuar, contacte o suporte técnico.


Informações de diagnóstico para administradores:

Servidor de origem: mail.empresa.pt

IMCEAEX-_O=EMPRESA_OU=EXCHANGE+20ADMINISTRATIVE+20GROUP+20+YYDIBHHF45SPPLV+29_CN=RECIPIENTS_CN=User65fff7ae@empresa.pt
#550 5.1.1 RESOLVER.ADR.ExRecipNotFound; not found ##
...................................................................................................................................................................






Basicamente o Exchange guarda no atributo da Active directory LegacyExchangeDN um "ID" da conta de correio que quando se remove, ele mantém-se, e quando se volta a adicionar o Exchange cria um novo "ID" e altera-o da Active Directory no entanto no sistema ainda fica a apontar para o antigo.

Exemplo:

Utilizador: ze.to
Email: ze.to@empresa.pt

Atributo LegacyExchangeDN:

/o=empresa/ou=Exchange Administrative Group (YYDIBHHF45SPPLV)/cn=Recipients/cn=user65fff7ae

Ao apagar e recriar a caixa de correio, este atributo mantém-se na Active directory no entanto o Exchange atribuiu um novo ID à mailbox:
ID Exemplo:
usera255238a

Logo o atributo LegacyExchangeDN deveria ser o seguinte:
/o=empresa/ou=Exchange Administrative Group (YYDIBHHF45SPPLV)/cn=Recipients/cn=usera255238a



Resolução:

1 - Identificar o ID do utilizador no email de erro:
_O=EMPRESA_OU=EXCHANGE+20ADMINISTRATIVE+20GROUP+20+YYDIBHHF45SPPLV+29_CN=RECIPIENTS_CN=User65fff7ae@empresa.pt

( valor a negrito)


2 - Identificar o atributo no LegacyExchangeDN no servidor de Exchange, para isso e recorrendo à consola powershell do Exchange executar o seguinte comando:

get-mailbox ze.to | FL

E identificar o ID novo do utilizador:
/o=empresa/ou=Exchange Administrative Group (YYDIBHHF45SPPLV)/cn=Recipients/cn=usera255238a

( Valor a negrito )

3 - Corrigir o atributo usando a consola MMC "ADSI Edit" e navegando até ao utilizador em questão,  fazer propriedades e alterar o valor do atributo LegacyExchangeDN para o antigo ( /o=empresa/ou=Exchange Administrative Group (YYDIBHHF45SPPLV)/cn=Recipients/cn=user65fff7ae
) e voilá ficará a funcionar como dantes.

quinta-feira, 9 de maio de 2013

Remover caixas de correio no estado 'disconnected' sem apagar o utilizador da AD no Exchange 2007

Bom dia,

Hoje deparei-me com mais um problema caricato vindo da Microsoft, então não é que estes rapazes não tem uma função no GUI para apagar uma mailbox sem apagar a conta na Active Directory!

Temos a possibilidade de desconectar a mailbox que é apagada ao fim dos dias que estão configurados no sistema para a remoção dessas mailboxes e tem a opção para remover com a conta na AD, ora eu necessitava de remover imediatamente as contas para poder adicionar os emails a uma conta No-Reply de modo a indicar que os respectivos colaboradores já não se encontravam na empresa e reencaminhar esses emails para alguém responsável.

Então com a missão de descobrir um método para eliminar imediatamente as mailboxes lá andei de novo no metido no mundo do PowerShell e eis o que descobri.

Para remover a mailbox sem remover a conta na Active directory é necessário saber qual é a database onde essa mailbox se encontra e o GUID da respectiva Mailbox.

Para descobrir a database basta ir ás propriedades da conta no EMC ( Exchange Management Console )


Para descobrir qual o GUID e a Base de dados da mailbox do utilizador ze.manel:

get-mailboxstatistics ze.manel |select MailboxGuid,Database

Resultado:

MailboxGuid                                                 Database
-----------                                                 --------
12d214ed-cd37-4ae1-ae12-61d65712770e                        TODOS


Em seguida terá de desconectar a Mailbox, pode fazer pelo EMC ou por Powershell:
Disable-Mailbox ze.manel -confirm:$false


Com estes dados podemos então remover a conta em questão utilizando:


Remove-Mailbox -Database TODOS -StoreMailboxIdentity 12d214ed-cd37-4ae1-ae12-61d65712770e -confirm:$false

E pronto fica o problema resolvido.