Additional details about the new mailbox recovery method in Exchange Online

​Earlier this year, the Exchange team revealed a new method of recovering mailboxes in Exchange Online. Improvements were made for the case in which recovering the soft-deleted mailbox failed, or was not possible due to removal of the corresponding user object. In a nutshell, the new method allows you to copy the contents of the soft-deleted mailbox to a mailbox of your choice, or it’s associated archive mailbox. The original blog post however provided a little information on all the other parameters available for the New-MailboxRestoreRequest cmdlet and it’s usage in general, so I took it for a spin.

Now, the cmdlet help can be found here. Here are some of the important bits and pieces:

  • The cmdlet can be used against any soft-deleted mailbox as source mailbox, that includes Inactive ones. You cannot however use it against active mailboxes, for this scenario you will have to resort to the good old Search-Mailbox.
  • Conversely, you cannot use a soft-deleted mailbox as the Target mailbox either, not that would make much sense.
  • The cmdlet CAN be used multiple times, as long as the source mailbox is still in the soft-deleted state.
  • If you try to use the cmdlet against an user object different from the originally attached one, you will most likely fail. The reason behind this is that the process will try to match the value of the LegacyExchangeDN parameter of the source mailbox against the taget user’s LegacyExchangeDN attribute or a X500 proxy address. To overcome this, make sure to use the AllowLegacyDNMismatch parameter.
  • New mailbox restore requests are automatically queued upon creation, and will run shortly after. If you want to double-check things, make sure to use the Suspend parameter, or the Suspend-MailboxRestoreRequest cmdlet.
  • If you are restoring to another user’s mailbox, it’s a good idea to use the ConflictResolutionOption parameter, to make sure no data is overwritten.
  • You can restore the source mailbox directly into the target mailbox’s archive. You can also restore the source mailbox’s archive directly into the target mailbox. That’s what the SourceIsArchive and the TargetIsArchive parameters are for.
  • There are a lot of options that allow you to control what exactly is copied from the source mailbox. AssociatedMessagesCopyOption can be used to exclude associated items, ExcludeDumpster to exclude dumpster items, the ExcludeFolders parameter can be used to exclude other (sub)folders. Conversely, you have the IncludeFolders parameter.
  • You can also use the SourceRootFolder and the TargetRootFolder parameters. Mostly to make a mess and confuse the end user. But it can be useful in some scenarios. See the last paragraphs of this article for detailed illustrations on the use of those parameters.
  • The CompletedRequestAgeLimit parameter will help you preserve details/statistics about any requests that you have queued/completed. By default, those will be kept for 30 days.

You can also use the Get-MailboxRestoreRequest/Get-MailboxRestoreRequestStatistics cmdlets to get some more details on running and completed requests, such as the source and target mailbox, source and target folders, included and excluded containers, duration and data copied, etc. 

This entry was posted in Exchange Online, Office 365. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *