Have you ever had the need to restore individual items from a mailbox stored in an Exchange Server 2010 or 2013 VM backup? Here are some steps you can use that take advantage of the Exchange Management Shell, which is built upon the PowerShell functionality at the core of Exchange Server.
Using vmPRO File Level Recovery we can retrieve a clean copy of an Exchange mailbox database to bring on-line as a Recovery Database. Once the RecoveryDB is mounted we can query it for retrieval of mailbox items using the built-in Exchange Management Shell commands.
The process for restoring items from an Exchange Server 2010/2013 backup is divided into three major steps:
Let's take a closer look at these steps! First, here is an example copy command for step 1 -- you can execute a command like this from either the Windows Command Prompt cmd.exe, or from PowerShell and the Exchange Management Shell. You would substitute the paths in this example with the hostname of your vmPRO, and the recover folder with your Exchange database -- here R:\ represents the local drive location for the database files to be copied to:
Copy “\\vmpro-gpn00.infra.n7.quantum.com\recover\files\DXi6702-A\2012-10\2012-10-06-2200\EXCH_FOREST\EXCH14_W2008R2X64\EXCH14_W2008R2X64.volume\0\ExchangeV14\Mailbox\Mailbox Database 0651421345” R:\DB01
Once that copy command is complete we can proceed to step 2 and use the Exchange Management Shell to create an Exchange Recovery Database with the files contained inside the backup.
Open the Exchange Management Shell and use a command like the following:
New-MailboxDatabase -Name RecoveryDB -EdbFilePath R:\DB01\DB01.edb -LogFolderPath R:\DB01 -Recovery -Server Exchange1
Once we have defined the new RecoveryDB, we can instruct Exchange to mount the database by using the following command and proceed to step 3:
Mount-Database RecoveryDB
Now that the RecoveryDB is mounted, you can use the following command to get a list of mailboxes contained inside the database:
Get-MailboxStatistics -Database RecoveryDB
You can use a command like this to get details on a specific mailbox:
Get-MailboxSStatistics -Database RecoveryDB | ?{$_.DisplayName -like 'Alan*'}
Once you have identified a mailbox you'd like to restore, you can use the 'New-MailboxRestoreRequest' command to retrieve it from the RecoveryDB and send it to an active mailbox:
New-MailboxRestoreRequest -SourceDatabase RecoveryDB -SourceStoreMailbox 'Alan McNish' -TargetMailbox amcnish
You can find more details and options on restoring mailbox items with the Exchange Management Shell commands on Microsoft TechNet:
http://technet.microsoft.com/en-us/library/ff829875(v=exchg.150).aspx
Tags:
© 2024 Created by Quantum Forum V. Powered by