If you are working with Exchange 2010 at this point, and are working on migrations, this is an issue you will most likely face.

If you try to import a PST, this would be the correct way:

Using RBAC, assign yourself the import-export mailbox options (source technet)

New-ManagementRoleAssignment -Name “Import Export_Enterprise Support” -SecurityGroup “Enterprise Support” -Role “Mailbox Import Export”

Add yourself to this group, and login to the server you wish to use for your migration.

The server should have at least the mailbox role installed, the management tools. The mailbox database does not have to be mounted. (note: the mailbox role should not be mandatory, I couldn’t get it to work without that role). Make sure it’s all nice and updated, then run the import-mailbox cmdlet;

    Import-mailbox –identy targetmailbox –pstfolderpath “path to pst

Please note: the import-export role gives you all the rights you need. You do NOT need to assign yourself full access or send as permissions. A much nicer way to import then compared to previous version of exchange in my opinion.

This used to work just fine for the pre-rtm builds. After RTM, it will slowly break, and you will face the cryptic error message:

Error was found for XXX because: Error occurred in the step: Approving object. An unknown error
has occurred., error code: -2147221219
    + CategoryInfo          : InvalidOperation: (0:Int32) [Import-Mailbox], RecipientTaskException
    + FullyQualifiedErrorId : CFFD629B,Microsoft.Exchange.Management.RecipientTasks.ImportMailbox

This error message basically tells you nothing. If you search for it, it will point you to some permission pages, but they all won’t solve the issue. The import export role is enough.

After fighting with this for quite some time, I filed an issue with Microsoft, and after some testing, we found out that other people where facing the same issue. This has now been declared a bug, and they are working on a hotfix. Till that time, there is a workaround. It ain’t pretty, but it works J

Here’s what you do:

Install a new server in your domain

  • Make this server a domain controller. It’s not necessary to make it a DNS server, global catalog will do.
  • Install the exchange mailbox, cas and hub transport role on it.
  • Install outlook 2010 beta X64 on that server
  • Make sure the default database points to that server as the rpcclientaccessserver (check this with get-mailboxdatabase databasename | ft rpcclientaccessserver)
  • Move the mailboxes that have to be imported to this temp server
  • Wait. This is very important, give it some time, 5 to 10 minutes after the move has been completed.
  • Run your import-mailbox cmdlet.
  • After the import, you can move your mailbox back.


Another Resolution to the ERROR is

It is something to do with Outlook 2010 mapi profile not being able to be created for mailbox Correctly

I created the profile manually and add the pst to test, all looks ok