Após mover mailbox do Exchange 2007 ao Exchange 2013, o Outlook não se conecta ao Exchange

Como já conhecem, esse é mais um relato da série “Coisas estranhas no Exchange”, e esse post vai um pouco além do estranhíssimo, aborda o fato de como uma migração mal feita no passado, pode te complicar com a atual migração. Me foi solicitado que realizasse uma migração do Exchange 2007 ao 2013 de um grande hospital. A migração estava indo muito bem obrigado, até que em certo momento, alguns usuários começaram a se lamentar que suas mailboxes não se conectavam mais ao Exchange, após o move-mailbox o Outlook dizia a seguinte mensagem:

Cannot open your default e-mail folders. You must connect to Microsoft Exchange with the current profile before you can synchronize your folders with your Outlook data file (.ost)

Efetuei um troubleshooting de dias, procurando todo tipo de log possível que pudesse me ajudar, e o maximo que pude encontrar foi a seguinte log:

16,ncacn_ip_tcp,,,,Connect,0,00:00:00,”SID=S-1-5-21-665045619-3852746891-2158416606-3450, Flags=None”,,,,unidade4a@contoso.com,
2015-11-05T18:21:05.465Z,162,1,/o=HSC/ou=First Administrative Group/cn=Recipients/cn=unidade4a,,OUTLOOK.EXE,14.0.6131.5002,Cached,,,,ncacn_ip_tcp,Client=MSExchangeRPC,,,OwnerLogon,-2147221231 (rop::LogonFailed),00:00:00.0310000,”Logon: Owner, /o=HSC/ou=First Administrative Group/cn=Recipients/cn=unidade4a in database last mounted on HSC-EX-07.hsc-domain.int”,”RopHandler: Logon: [ConnectionFailedTransientException] Cannot open mailbox /o=HSC/ou=First Administrative Group/cn=Recipients/cn=unidade4a. -> [MapiExceptionLogonFailed] Unable to open message store. (hr=0x80040111, ec=-2147221231) [diag::AACeAQAA/wAAAAAAAAAAApABAAAn2gARewIAACeqEDEAAAAAYAEAAAAAAAABAAAAAAAAANDLQCEAD2qEBwBAEBUBBIBww0AhAA9qhHcXABEwAAAAulrwHwAAAAA6bfAf/gAAALpC8B8RAQSAOWkAEDAAAAChVUAQEQEEgDpt8B/6AAAA1gXwHwAAAACwuQAQDwEEgBChABAAAAAAMOsAEDAuMTEQkQAQMDU6SDC7ABBYLTA3R+YAEAAAAAAQyQAQdgQAABChABAAAAAAMOsAEAAAAAAQkQAQAAAAADDnABAAAAAAENcAEAAAAAAQpwAQAAAAAP/bABAAAAAAKNgAEAAAAADo2wAQAAAAAOjKQBARAQSAKN4QEP4AAADYpkAQEQEEgCIqUFAAAAAAMTUuMDAuMTEzMC4wMDU6SFNDLUVYLTA3AAAAAAAAAADWBvAfAAAAAOFoABAAAAAAOVXwHxEBBIC5ZgAQAAAAAMlAQBARAQSAuX4AEAAAAACqBkAQEQEEgLlgABAAAAAAuVBAEBEBBIC5ZAAQAAAAALl0QBARAQSA] at M.E.D.S.MailboxSession.ForceOpen(MapiStore linkedStore, Boolean unifiedSession) at M.E.D.S.MailboxSession.Initialize(MapiStore linkedStore, LogonType logonType, IExchangePrincipal owner, DelegateLogonUser delegateUser, Object identity, OpenMailboxSessionFlags flags, GenericIdentity auxiliaryIdentity, Boolean unifiedSession) at M.E.D.S.MailboxSession.<>c__DisplayClass1c.<CreateMailboxSession>b__1a(MailboxSession mailboxSession) at M.E.D.S.MailboxSession.InternalCreateMailboxSession(LogonType logonType, IExchangePrincipal owner, DelegateLogonUser delegatedUser, CultureInfo cultureInfo, String clientInfoString, IBudget budget, Action`1 initializeMailboxSession, InitializeMa”,,,unidade4a@contoso.com,
2015-11-05T18:21:05.466Z,162,1,/o=HSC/ou=First Administrative Group/cn=Recipients/cn=unidade4a,,OUTLOOK.EXE,14.0.6131.5002,Cached,,,,ncacn_ip_tcp,Client=MSExchangeRPC,,,,0x6BA (rpc::Exception),00:00:00.0310000,SessionDropped,”RpcEndPoint: [ServerUnavailableException] Connection must be re-established -> [SessionDeadException] The primary owner logon has failed. Dropping a connection. -> [ConnectionFailedTransientException] Cannot open mailbox /o=HSC/ou=First Administrative Group/cn=Recipients/cn=unidade4a. -> [MapiExceptionLogonFailed] Unable to open message store. (hr=0x80040111, ec=-2147221231) [diag::AACeAQAA/wAAAAAAAAAAApABAAAn2gARewIAACeqEDEAAAAAYAEAAAAAAAABAAAAAAAAANDLQCEAD2qEBwBAEBUBBIBww0AhAA9qhHcXABEwAAAAulrwHwAAAAA6bfAf/gAAALpC8B8RAQSAOWkAEDAAAAChVUAQEQEEgDpt8B/6AAAA1gXwHwAAAACwuQAQDwEEgBChABAAAAAAMOsAEDAuMTEQkQAQMDU6SDC7ABBYLTA3R+YAEAAAAAAQyQAQdgQAABChABAAAAAAMOsAEAAAAAAQkQAQAAAAADDnABAAAAAAENcAEAAAAAAQpwAQAAAAAP/bABAAAAAAKNgAEAAAAADo2wAQAAAAAOjKQBARAQSAKN4QEP4AAADYpkAQEQEEgCIqUFAAAAAAMTUuMDAuMTEzMC4wMDU6SFNDLUVYLTA3AAAAAAAAAADWBvAfAAAAAOFoABAAAAAAOVXwHxEBBIC5ZgAQAAAAAMlAQBARAQSAuX4AEAAAAACqBkAQEQEEgLlgABAAAAAAuVBAEBEBBIC5ZAAQAAAAALl0QBARAQSA] at M.E.R.Server.RpcDispatch.Execute(Func`1 getExecuteParameters, Func`1 executeDelegate, Action`1 exceptionSerializationDelegate) at M.E.R.Server.RpcDispatch.EcDoRpcExt2(ProtocolRequestInfo protocolRequestInfo, IntPtr& contextHandle, IList`1 ropInArray, ArraySegment`1& ropOut, ArraySegment`1 auxIn, ArraySegment`1& auxOut, Boolean isFake, Byte[]& fakeOut) at M.E.R.Server.WatsonOnUnhandledExceptionDispatch.<>c__DisplayClass13.<M.E.R.Server.IRpcDispatch.EcDoRpcExt2>b__12() at M.E.C.IL.ILUtil.DoTryFilterCatch(TryDelegate tryDelegate, F”,ClientRPCCount=0;AvgClientLatency=00:00:00;ServerRPCCount=1;AvgCasRPCProcessingTime=00:00:00;AvgMbxProcessingTime=00:00:00;MaxCasRPCProcessingTime=00:00:00;20%ClientPercentile=10;40%ClientPercentile=10;60%ClientPercentile=10;80%ClientPercentile=10;90%ClientPercentile=10;95%ClientPercentile=10;99%ClientPercentile=10;100%ClientPercentile=10;20%CasPercentile=10;40%CasPercentile=10;60%CasPercentile=10;80%CasPercentile=10;90%CasPercentile=10;95%CasPercentile=10;99%CasPercentile=10;100%CasPercentile=10;20%MbxPercentile=10;40%MbxPercentile=10;60%MbxPercentile=10;80%MbxPercentile=10;90%MbxPercentile=10;95%MbxPercentile=10;99%MbxPercentile=10;100%MbxPercentile=10;ClientRpcFailureData:,”S:ActivityStandardMetadata.UserId=ADGuid:87a240ed-ac73-4c29-b545-bd43e0d5ebac;S:ActivityStandardMetadata.Puid=;S:ActivityStandardMetadata.UserEmail=unidade4a@contoso.com;S:WLM.Bal=149982,7;S:ActivityStandardMetadata.TenantId=contoso.com;S:ActivityStandardMetadata.Component=RCA/Mailbox;S:WLM.BT=Rca;S:ActivityStandardMetadata.Protocol=RPC/TCP;S:ActivityStandardMetadata.ClientInfo=OUTLOOK.EXE/14.0.6131.5002;I32:ADS.C[SERVER]=3;F:ADS.AL[SERVER]=2.2235;Dbl:BudgUse.T[]=23.0200004577637;I32:ATE.C[SERVER.contoso.com]=3;F:ATE.AL[SERVER.contoso.com]=5.333333;I32:ATE.C[SERVER.contoso.com]=1;F:ATE.AL[SERVER.contoso.com]=0;I32:ADS.C[SERVER]=1;F:ADS.AL[SERVER]=2.0314″,unidade4a@contoso.com,

Até que notei algo bem estranho, as mailbox no qual sucedia o problema estavam sendo mencionadas no Exchange 2013 como “Linked Mailbox”. Meu primeiro pensamento na hora foi conferir se havia algum tipo de trust na floresta para que houvesse Linked Mailbox no ambiente, e para minha surpresa não havia nada.  Então eu me perguntei, como pode existir uma Linked Mailbox no ambiente se não é possível a criar sem um trust cross-forest ? Fui conferir se em algum momento da vida houve um trust cross-forest naquele ambiente, e o sysadmin de mais de 20 anos de empresa me disse que não, nunca houve. Ali ficou claro que a coisa não era de Deus, talvez o datacenter fosse construído em cima de um cemitério indígena haha.

Resolução:

Brincadeiras a parte, após encontrar a causa raiz do problema, consegui sana-lo realizando o comando:

Set-User -Identity user@dominio.com -LinkedMasterAccount $null

Confesso que na época talvez por haver menos conhecimento ou menos paciência, desisti de buscar o porquê do problema e foquei em simplesmente sana-lo. Porém recentemente me aconteceu algo interessante; procurando algumas coisas na internet sobre permissões cross-forest, acabei achando esse artigo, que descreve exatamente o problema que eu passei a anos atrás.

O que é relatado no artigo é que devido a uma mailbox possuir uma permissão “perdida” – como por exemplo quando se da permissão em um file server a um usuário e o deleta, ficara apenas o SID do antigo usuário – ao realizar o move-mailbox do Exchange 2003 ao Exchange 2007, o Exchange 2007 talvez por um bug acabava convertendo a mailbox em Linked, colocando o SELF como o usuário linkedmaster. Porem até então isso ocorre de modo transparente ao usuário, porque ele mesmo possui a permissão em sua mailbox, então por mais que a mesma fosse convertida ele ainda conseguia acessar com seu Outlook seja em RPC ou RPC over HTTP. Acontece que o Exchange 2013 tratou a situação de um modo diferente, realmente perdendo o linkedmaster e bloqueando dessa forma o acesso RCP over HTTP.

Hoje me ficou bem claro que o problema que passei na verdade foi culpa de uma sujeira que passou batido na época de migração do Exchange 2003 ao Exchange 2007, e essa sujeira acabou virando um problemão vários anos depois.

É isso ai galera, que sirva de alerta a todos a importância de fazer uma migração bem feita, só assim evitaremos problemas futuros.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *