Importing a PST file using a manually configured Outlook profile (Exchange Online)

by Henrik Walther [Published on 15 April 2013 / Last Updated on 16 April 2013]

During an Office 365 proof of concept (PoC), I had to export the mailbox data from a couple of on-premise Exchange 2010 mailboxes to PST files and import these PST files to cloud identity mailboxes.

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) 

Note
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 ExchangeGUID@companydomain.com 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.

Image

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.

Image

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".

Image

Click "Connection" and tick "Connect to Microsoft Exchange using HTTP"

Image

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. 

Image

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.

Image

 

Image


That was all I had to share with you today.

Until later,
Henrik Walther

Add Review or Comment

See Also

Featured Links