Exporting Mailboxes with Exchange Server 2010 SP1
Exchange Server 2010 Service Pack 1 introduced a new method for exporting mailboxes called Mailbox Export Requests. This new method replaces the previous Export-Mailbox command.
Before we look at how to create a new mailbox export request in Exchange 2010 SP1 there are a few things that you should understand.
Firstly, no accounts are granted the rights to export mailboxes by default. You need to explicitly grant these rights, even to accounts that are organization administrators.
Secondly, the mailbox export request is processed by the Client Access server role. Because multiple Client Access servers can exist in a site the request could be processed by any one of them. To ensure that the path to the export PST file is valid for any Client Access server it has to be a UNC path to network share, not a local path.
Granting User Rights for Mailbox Exports in Exchange 2010 SP1
The first step is to grant the right to export mailboxes to an account in your organization. In the Exchange Management Shell run the following command.
New-ManagementRoleAssignment –Role “Mailbox Import Export” –User Administrator
If you’re logged with that user already simply restart your Exchange Management Shell session to be granted access to the new cmdlets.
Creating a Network Share for Mailbox Exports in Exchange 2010 SP1
Next we need to create the network share that will be used as the file path for the exported PST files. All that is required here is a network share that the Exchange Trusted Subsystem group has read/write permission to.
Exporting a Mailbox with an Exchange Server SP1 Mailbox Export Request
With everything configured properly we can now use New-MailboxExportRequest to start the mailbox export. The only two required parameters for the command are the file path to the export PST file, and the name of the mailbox to export.
[PS] C:\>New-MailboxExportRequest -Mailbox “adrian.chatto1” -FilePath \\dserver\pst\davelister.pst
To view the status of the request uses the Get-MailboxExportRequest cmdlet.
Name Mailbox Status
—- ——- ——
MailboxExport KPS/Company/Users/Head of… InProgress
You can also see more detail about the mailbox export request with Get-MailboxExportRequest.
An easy way to see the progress of all mailbox export requests is to pipe Get-MailboxExportRequest into the Get-MailboxExportRequestStatistics cmdlet.
[PS] C:\>Get-MailboxExportRequest | Get-MailboxExportRequestStatistics
Name Status SourceAlias PercentComplete
—- —— ———– —————
MailboxExport InProgress Adrian.chatto1 20
Exporting an Archive Mailbox with Exchange Server SP1 Mailbox Export Request
You can also export a user’s Personal Archive using mailbox export requests simply by adding the -IsArchive parameter to the command.
[PS] C:\>New-MailboxExportRequest -Mailbox davelister -FilePath \\dubbur-fs01\pst\davelister.pst -IsArchive
One site, MB and CAS server all in one site. OWA worked with no issues.
Moved mailbox to another Site and OWA broke.
I had to change the settings on the remote location (MB Locations) for OWA:
Server configuration – > Client Access -> go to the server in question (the MB server) -> OWA (Default Web Site) -> Authentication -> change to “Integrated Windows Authentication” and on general tab, set external URL to nothing.
Kept getting this error:
Failure Reason: Database a409ab86-ce24-4fcf-bd2a-14fd633090aa does not satisfy constraint SecondCopy
This was the fix:
PowerShell: Set-MailboxDatabase -DataMoveReplicationConstraint None -Identity “DB Name:
Once moved change it back:
Set-MailboxDatabase -DataMoveReplicationConstraint SecondCopy -Identity “DB Name”
Thanks for Chris and Robins Tech Blog for this
Get-MailboxDatabaseCopyStatus | fl name, contentindexstate
A user came to me the other day. To folders were missing from their inbox and they asked if it would be possible to recover them.
Recently I hade implemented a backup procedure using DPM but, I had no idea how to restore from it.
Here is what I learned:
The first thing that you have to do is create a Recovery Database RDB. This is not like a normal Database as it does not interact with any other Database and no protocols can communicate with it. You have to create this DB with the following PowerShell command line:
New-MailboxDatabase -Recovery -Name RDB -Server “servername” -EdbFilePath “path” -LogFolderPath “path”
Pasted from <http://www.symantec.com/connect/articles/how-restore-exchange-2010-database-recovery-database-using-backup-exec-2010>
Once you have done this, you have to specify that a backup restore job can overwrite this DB:
Go to the Database properties -> Maintenance and tick the box that says “This Database can be overwritten by a restore”
Next, you need to perform the restore from DPM.
Click the recovery tab, find the DB with the users, choose the date and click recover:
You will then be asked to specify the Exchange server and the name on the recovery DB
Now you have recovered the Database but, it is in a DB that can not communicate with any others. You need to create a recovery users and then use PowerShell to transfer the data. The recover users in just a standard user account.
Once you have created the user run the following command line:
Restore-Mailbox -Identity Scott -RecoveryDatabase MyRecoveryDatabase -RecoveryMailbox John -TargetFolder Recovery
- You Can then give yourself permission to the users mailbox. (right click user, “Manage Full Mailbox permissions”). Do the same for the recover user. You will then see the mailboxes in your Outlook (This can take 5 minutes). You can then drag and drop folders as you wish.
So, you’ve written a nice Power Shell line like:-
Get-Mailboxstatistics -Database “Sales Archive” | Format-list
But its too long and it goes off the top of the screen. How about exporting it to a text file:-
Get-MailboxStatistics -Database “Sales Archive” | Format-list >>c:\output.txt
So you have a DAG setup and you don’t want to take full backups of a copy of the exchange DBs? Enable circular logging:-