Forum Discussion
Need to Restore Deleted Mailbox with a twist
Scenario:
- Exchange 2013
- User Mailbox was Disabled via EAC
- AD User object was not disabled or deleted
- Mailbox shouldn't have been disabled, so they scrambled to fix the situation
- Instead of Re-connecting old mailbox to the user, a New Mailbox was created for that user
- The AD User attribute "legacyExchangeDN" appeared to have a different GUID than the current/new mailbox GUID
- Don't seem to be able to reference the originally deleted mailbox
- No longer appears in available Soft-Deleted mailboxes
- The mailbox in question does not appear when I run the following cmdlet
- Get-MailboxDatabase | Get-MailboxStatistics -Filter 'DisconnectDate -ne $null'
- Looped through all of our Mailbox DBs, trying to perform a Get-MailboxStatistics -StoreMailboxIdentity GUID, using the former mailbox GUID
Suggested course of action here?
Our Commvault system isn't backing up down the mailbox level, just the database. Could I create a new Mailbox Database and restore last night's backup to that database? Then create a move-request from the restore database to the prod DAG?
Worst-case scenario, I'll request an Archive Recovery from Mimecast...
Solved the issue; turns out, certain cmdlets, such as Get-MailboxDatabase | Get-MailboxStatistics can only be ran from an Exchange Server in the Shell. I perform nearly every Exchange mgmt task from my own machine via Remote Session. ($ExchSession = New-PSSession.... Import-PSSession $ExchSession...). When I run that command in Remote Session, I receive an error: The specified mailbox "DB15" doesn't exist. [Get-MailboxStatistics], ManagementObjectNotFoundException.
I mostly followed the "https://docs.microsoft.com/en-us/exchange/connect-or-restore-a-deleted-mailbox-exchange-2013-help#use-the-shell-to-restore-a-deleted-mailbox" doc.
- From one of our Exchange Servers, I was successfully able to run this cmdlet:
Get-MailboxDatabase | Get-MailboxStatistics | Where { $_.DisplayName -eq "END USER" } - This returned TWO entries, which is exactly what I expected to see
- I piped that into a Select DisplayName,MailboxGuid,Database,ServerName in order to obtain the original mailbox's source DB info:
Get-MailboxDatabase | Get-MailboxStatistics | Where { $_.DisplayName -eq "END USER" } | Select DisplayName,MailboxGuid,Database,ServerName - This enabled me to successfully run a New-MailboxRestoreRequest:
New-MailboxRestoreRequest -SourceStoreMailbox "GUID of deleted mailbox" -SourceDatabase MBXDB01 -TargetMailbox "END USER MB" -AllowLegacyDNMismatch - Used this command to check the stats of the restore:
Get-MailboxRestoreRequest | Get-MailboxRestoreRequestStatistics
- From one of our Exchange Servers, I was successfully able to run this cmdlet:
2 Replies
- BHSKenHenBrass ContributorWas just reading about the Exchange 2016 Recovery Database feature. Doesn't help me because we're still on 2013. :)
- BHSKenHenBrass Contributor
Solved the issue; turns out, certain cmdlets, such as Get-MailboxDatabase | Get-MailboxStatistics can only be ran from an Exchange Server in the Shell. I perform nearly every Exchange mgmt task from my own machine via Remote Session. ($ExchSession = New-PSSession.... Import-PSSession $ExchSession...). When I run that command in Remote Session, I receive an error: The specified mailbox "DB15" doesn't exist. [Get-MailboxStatistics], ManagementObjectNotFoundException.
I mostly followed the "https://docs.microsoft.com/en-us/exchange/connect-or-restore-a-deleted-mailbox-exchange-2013-help#use-the-shell-to-restore-a-deleted-mailbox" doc.
- From one of our Exchange Servers, I was successfully able to run this cmdlet:
Get-MailboxDatabase | Get-MailboxStatistics | Where { $_.DisplayName -eq "END USER" } - This returned TWO entries, which is exactly what I expected to see
- I piped that into a Select DisplayName,MailboxGuid,Database,ServerName in order to obtain the original mailbox's source DB info:
Get-MailboxDatabase | Get-MailboxStatistics | Where { $_.DisplayName -eq "END USER" } | Select DisplayName,MailboxGuid,Database,ServerName - This enabled me to successfully run a New-MailboxRestoreRequest:
New-MailboxRestoreRequest -SourceStoreMailbox "GUID of deleted mailbox" -SourceDatabase MBXDB01 -TargetMailbox "END USER MB" -AllowLegacyDNMismatch - Used this command to check the stats of the restore:
Get-MailboxRestoreRequest | Get-MailboxRestoreRequestStatistics
- From one of our Exchange Servers, I was successfully able to run this cmdlet: