Originally I tried to use the New-MailboxRestoreRequest powershell cmdlets but it was bugging out on me… not surprising since the both inactive and new mailboxes shared many of the same details. Turns out I needed to use the ExchangeGUID (Step 10)
I could check restore status using the following lines:
$requests = Get-MailboxRestoreRequest | select targetmailbox, RequestGuid
ForEach($request in $requests){Get-MailboxRestoreRequestStatistics -Identity $Request.RequestGuid}
Re-provisioning mailboxes that didn’t want to exist ‘couldn’t be found’
Additionally Admin Console would say something like “This user’s on-premises mailbox hasn’t been migrated to ?Exchange Online?. The ?Exchange Online? mailbox will be available after the migration is completed”
To fix this; I needed to clear the msExchMailboxGUID attribute and set msExchRemoteRecipientType to 1. Turns out mailboxes that were migrated from on-prem will carry a flag and GUID for their historical on-prem junk which can prevent a mailbox from provisioning in EXO. Normally not a problem but in this case it was!
In AD the msExchRemoteRecipientType
attribute had a correct value of 4
(Migrated (User Mailbox)) and msExchRecipientTypeDetails
a correct value of 2147483648 (RemoteUserMailbox).