SOLVED

Need to Restore Deleted Mailbox with a twist

Brass Contributor

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...

2 Replies
Was just reading about the Exchange 2016 Recovery Database feature. Doesn't help me because we're still on 2013. :)
best response confirmed by BHSKenHen (Brass Contributor)
Solution

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 "Use the Shell to restore a deleted mailbox" doc.

  1. From one of our Exchange Servers, I was successfully able to run this cmdlet:
    Get-MailboxDatabase | Get-MailboxStatistics | Where { $_.DisplayName -eq "END USER" }
  2. This returned TWO entries, which is exactly what I expected to see
  3. 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
  4. This enabled me to successfully run a New-MailboxRestoreRequest:
    New-MailboxRestoreRequest -SourceStoreMailbox "GUID of deleted mailbox" -SourceDatabase MBXDB01 -TargetMailbox "END USER MB" -AllowLegacyDNMismatch
  5. Used this command to check the stats of the restore:
    Get-MailboxRestoreRequest | Get-MailboxRestoreRequestStatistics
1 best response

Accepted Solutions
best response confirmed by BHSKenHen (Brass Contributor)
Solution

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 "Use the Shell to restore a deleted mailbox" doc.

  1. From one of our Exchange Servers, I was successfully able to run this cmdlet:
    Get-MailboxDatabase | Get-MailboxStatistics | Where { $_.DisplayName -eq "END USER" }
  2. This returned TWO entries, which is exactly what I expected to see
  3. 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
  4. This enabled me to successfully run a New-MailboxRestoreRequest:
    New-MailboxRestoreRequest -SourceStoreMailbox "GUID of deleted mailbox" -SourceDatabase MBXDB01 -TargetMailbox "END USER MB" -AllowLegacyDNMismatch
  5. Used this command to check the stats of the restore:
    Get-MailboxRestoreRequest | Get-MailboxRestoreRequestStatistics

View solution in original post