So with Exchange 2007, 2010 or 2013, we can export a mailbox to a PST file using Exchange PowerShell cmdlets. With Exchange 2013, we also have the option of doing this directly in the Exchange Admin Center (EAC).
The same is true for PST imports.
However, if you wish to import PST files to a mailbox in Exchange Online, things are not so straightforward.
To import a PST file, you have the following options:
- Use the PST Capture tool (complex but good for bulk imports)
- Use a third party tool (more costly but good for bulk imports)
- Use the Outlook client (not ideal for bulk imports)
Although the EAC in Exchange Online let's you assign the "Mailbox Export Import" role to a role group, this will not let you use EAC or the New-MailboxImportRequest cmdlet to import a PST file. After looking into this, I found out that being able to assign this role to a role group is a bug (has been submitted to the Office 365 product group).
In the respective setup, the cloud user mailboxes have been created with primary SMTP address and UPN set to the company domain. Since DirSync is out of scope and autodiscover points to the on-premise Exchange environment, the Outlook client profile has to be configured manually. This was somewhat cumbersome in the old Exchange 2010-based Exchange Online service, but with the new Exchange 2013-based one, configuring a manual Outlook profile is even more difficult. The main reason for this is that Outlook clients now connect to [email protected] and not the RPC Client Access server/array as is the case in Exchange 2010.
Because of this, we must lookup the "ExchangeGUID" prior to configuring the Outlook profile. An easy way to do this is to connect to Exchange Online using PowerShell. You also need to know the primary SMTP address and UPN. To find this information for a mailbox, run the following command:
Get-Mailbox "mailbox" | fl Name,ExchangeGUID,PrimarySMTPAddress,UserPrincipalName
Now launch the Outlook client and select to create a manually configured profile.
On the "Server Settings" enter the "Exchange GUID" in the "Server" text field and the UPN of the cloud identity in the "User Name" field.
Click "More Settings" and then the "Security" tab.
Now untick "Encrypt data between Microsoft Outlook and Microsoft Exchange" and set "Logon network security" to "Anonymous Authentication".
Click "Connection" and tick "Connect to Microsoft Exchange using HTTP"
On the "Microsoft Exchange Proxy Settings" page, under proxy server for Exchange enter "outlook.office365.com" and under connect using SSL only, enter "msstd:outlook.com". Also make sure you tick "On fast networks, connect using HTTP first, then connect using TCP/IP" and set proxy authentication to "Basic Authentication".
Hit "OK" and then check the "Check name" button back at the "Server settings" page. Enter the UPN and password of the user.
The server and user name will now be resolved and you have now configured an Outlook profile with success.
With the Outlook profile created, you can now open Outlook and import the PST file as required.
That was all I had to share with you today.