O365 - Não é possível habilitar ou desabilitar um arquivo morto enquanto a caixa de correio está sendo movida
By: Caio Ribeiro César
Como já discutido anteriormente, uma das tarefas mais efetuada pelos administradores de O365 é o mailbox move.
Em cenários on-prem, alguns artigos neste blog informam como efetuar um mailbox move entre servidores Exchange On-Premises e depois discutimos a funcionalidade de mailbox move em ambientes híbridos entre Ex2010>O365 e Ex2013>O365.
Desta vez vamos focar em mais um cenário, desta vez ao tentar habilitar o Exchange Online Archive recebemos uma mensagem de erro. Para entender melhor o cenário, temos a seguinte arquitetura:
100 Mailboxes no Exchange Online (100% cloud)
Qual o motivo então do troubleshooting ser focado em mailbox move? A resposta é simples, o mailbox move nem sempre é gerado pelo administrador do O365.
Como a estrutura do O365 é mantida na nuvem, possuímos uma equipe que pode efetuar mailbox move em diversos cenários: mudança de mailbox para uma store diferente, atualização de Exchange Mailbox Server, recriação de index (OWA search) e outros fatores conhecidos por administradores de Exchange.
Vamos então ao troubleshooting.
1. Ao tentar habilitar EXOA para uma mailbox “caioc”, recebemos a mensagem de erro abaixo:
Enable-Mailbox -Identity caioc@caioc.msftonlinerepro.com -Archive
Caixa de correio 'Caio Ribeiro Cesar' possui status de movimentação Failed. Não é possível habilitar ou desabilitar um arquivo morto enquanto a caixa de correio está sendo movida.
+ CategoryInfo : InvalidArgument: (Caio Ribeiro Cesar:ADUser) [Enable-Mailbox], RecipientTaskException+ FullyQualifiedErrorId : [Server=GRUPR80MBXXXX RequestId=XXXX-7546-4f24-bb99-c1f3d2342d97,TimeStamp=30/06/2014 17:42:27] [FailureCategory=Cmdlet-RecipientTaskException] B7F314A5,Microsoft.Exchange.Management.RecipientTasks.EnableMailbox
2. Como o ambiente é 100% na nuvem, sabemos que o administrador não efetuou nenhum mailbox move request. Entendemos então que as mailboxes possivelmente estão sendo movidas pelo time de DataCenter. Neste cenário, esperamos por alguns dias e o problema persiste. Vamos então coletar algumas informações antes de tomar ações.
2.1. Análise de Get-recipient e validando move requests ativos.
Validamos que realmente possuímos um mailbox move com status InProgress para a mailbox caioc:
Confirmamos que existem Move Requests, não somente para esta mailbox (Get-MoveRequest):
DisplayName Status TargetDatabase
----------- ------ --------------
Caio Ribeiro Cesar Failed LAMPR80DG026-db0XX
User 1 Failed LAMPR80DG018-db0XX
User 2 Failed LAMPR80DG026-db0XX
User 3 Failed LAMPR80DG026-db0XX
User 5 Failed LAMPR80DG026-db0XX
User 8 Failed LAMPR80DG026-db0XX
User 9 Failed LAMPR80DG026-db0XX
User 88 Failed LAMPR80DG026-db1XX
3. Já que confirmamos que existe um move sendo efetuado, vamos então expandir e selecionar apenas a mailbox caioc como identity para obter maiores informações do move (-id caioc | fl):
SerializationData : {0, 1, 0, 0...}
RunspaceId : dcc97a28-d503-4708-a3b2-XXX
ExchangeGuid : eb618ebd-69ad-40a0-b278-XXX
SourceDatabase : LAMPR80DG002-XXX
TargetDatabase : LAMPR80DG026-XXX
SourceArchiveDatabase :
TargetArchiveDatabase :
Flags : IntraOrg, Pull, Suspend, MoveOnlyPrimaryMailbox
RemoteHostName :
BatchName : MsExchMlb:Band:201405
Status : Failed
RequestStyle : IntraOrg
Direction : Pull
IsOffline : False
Protect : False
Suspend : True
SuspendWhenReadyToComplete : False
Alias : caioc
ExtensionCustomAttribute1 : {}
ExtensionCustomAttribute2 : {}
ExtensionCustomAttribute3 : {}
ExtensionCustomAttribute4 : {}
ExtensionCustomAttribute5 : {}
DisplayName : Caio Ribeiro Cesar
ExternalDirectoryObjectId : 54dad037-XXX-XXXXXXX-XXXX-XX
LastExchangeChangedTime :
RecipientType : UserMailbox
RecipientTypeDetails : UserMailbox
Identity : 123
IsValid : True
ExchangeVersion : 0.20 (15.0.0.0)
Name : 123
DistinguishedName : CN=123,OU=caiocbr15.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=LAMPR80A001,DC=prod,DC=outlook,DC=com
Guid : cfe333a1-XXXX-XXXX-XXXXX-XXX
OrganizationId : LAMPR80A001.prod.outlook.com/Microsoft Exchange Hosted Organizations/caiocbr15.onmicrosoft.com -LAMPR80A001.prod.outlook.com/ConfigurationUnits/caiocbr15.onmicrosoft.com/Configuration
OriginatingServer : GRXPR80A001DC01.LAMPR80A001.prod.outlook.com
ObjectState : Changed
A partir deste momento, podemos escolher entre acionar o time de suporte de O365, que poderá entrar em contato com o time de produto e entender o motivo de possuirmos um mailbox move com status Failed em background ou também podemos remover os batches:
Get-MoveRequest |Remove-MoveRequest