Exchange Server 2010 SP1: Mailbox Export and Import
Tags: Exchange 2007, Exchange 2010 SP1, Mailbox Export, Mailbox Import
With Exchange Server 2010 SP1 in the wild now, many organizations who are still hosting their messaging services with Exchange Server 2003 or 2007 or other platforms are finally looking to upgrade to Exchange Server 2010, but with this latest service pack included with the upgrade. True, many other companies have already migrated to Exchange Server 2010, yet the new wave includes those others that typically wait for the first service pack of operating systems and other services.
Most often, Exchange Server 2010 SP1 will be hosted on Windows Server 2008 R2 which released around the time as E2010 debuted in November 2009.
Features such as role-based modularity, management with PowerShell, and unified messaging which debuted with Exchange 2007 are seemingly old hat to some people, having released over three and a half years ago. However, organizations who are already running E2007 or even E2010 without the recent service pack still have numerous new features to look forward to, while those still using E2003 or other technologies are in for a humongous wealth of new features.
Let’s focus on some changes which come with E2010 SP1 related to export and import of mailbox data. Some of these changes are associated with changes to the processing of mailbox moves. The Microsoft Exchange Mailbox Replication service (MRS) facilitates the heavy lifting, but it is Exchange Management Shell (EMS) cmdlets which are used to drive the process.
Two cmdlets, New-MailboxExportRequest and New-MailboxImportRequest are used to initiate migration of messages to or from a .PST data file and from or to an Exchange mailbox. Let’s consider the export direction first. New-MailboxExportRequest can set up the export of either a primary mailbox or a mailbox archive. In its simplest form, this cmdlet takes a mailbox identifier and a .PST file path, for example:
New-MailboxExportRequest –Mailbox brad.werner@sp.wernerconsulting.com ‘
–FilePath \\sp.wernerconsulting.com\pst-root\w\brad-werner.pst
In this example, the mailbox is identified using the SMTP address <brad.werner@sp.wernerconsulting.com>. Alternately, either the alias or display name for the mailbox could have been specified. If the –IsArchive parameter had also been included in the New-MailboxExportRequest then the user’s archive would have been used instead of their primary mailbox.
Next, the file path is indicated, which should be in UNC file sharing format rather than a local path. This requirement is due to the nature of the export operation. The Mailbox Replication service that actually performs the export operation is hosted on an Exchange server with running the Client Access Server role. The New-MailboxExportRequest could be submitted (this cmdlet run) from a workstation with the management tools, or any Exchange server within the organization. Not only must this path be visible to the replication service, but Read+Write permissions should be granted at both the NTFS and SMB/CIFS share levels so that members of the Exchange Trusted Subsystem group have access.
Other parameters of note are the –IncludeFolders and –ExcludeFolders parameters, each which allow the specification of lists of folders to include or not include in the export. Because each export may not include all folders for a particular mailbox, it could be useful to perform several separate export operations on the same mailbox, generating separate .PST files from distinct sets of folders from the mailbox.
If you have submitted several unique export requests simultaneously, care must be taken to ensure that their request identifiers are indeed unique as well. If you do not explicitly supply a request identifier in the request, New-MailboxExportRequest will provide one using the default naming scheme like “brad.werner\MailboxExport0” in which the alias is used before the backslash, and sequential numbers zero through nine are appended after the literal string MailboxExport. Thus, up to ten unique request IDs can be provided per mailbox by New-MailboxExportRequest. In order to explicitly supply an identifier, simply use the –Name parameter in the request. The supplied name is used in place of the default MailboxExportn after the alias and backslash, thus –Name Xyzzy would result in a request identifier of brad.werner\Xyzzy.
The New-MailboxImportRequest cmdlet can be used in similar fashion, with the flow of mailbox data going in reverse. With the import, the data comes from the .PST file and is brought into the Exchange mailbox.
Naturally, Get-, Set-, Suspend-, Resume-, and Remove– verbs can be used for MailboxImportRequest and MailboxExportRequest nouns as well by virtue of ten more corresponding cmdlets. Exchange 2010 SP1 also supports two related statistics cmdlets: Get-MailboxExportRequestStatistics and Get-MailboxImportRequestStatistics which be used to track activity of a particular request, activity related to a particular database, or requests hosted by a particular server running the Mailbox Replication service (MRS).
The mailbox import/export functionality hosted by the Mailbox Replication service on client access server(s), without the need to have Outlook installed to perform the transfers is one of many great features of Exchange Server 2010 SP1.
Author: Brad Werner
Related Courses
Configuring, Managing, and Troubleshooting Microsoft Exchange Server 2010 (M10135)
Designing and Deploying Messaging Solutions with Microsoft Exchange Server 2010 (M10233)
MCITP: Enterprise Messaging Administrator 2010 Boot Camp
Configuring, Managing, and Maintaining Server 2008 R2 (M6419)






Great article!
I was a little upset when they removed the original export mailbox command with SP1. I had it working smoothly exporting all users within each database.
I am having a difficult time with the new command exporting all mailboxes into their own individual pst files.
Any thoughts?
THANKS!
Leave your response!