Using network upload to import multiple PSTs into O365

At my current workplace we have a large amount of archive data in Symantec/Veritas Enterprise Vault. Due to data retention regulations locally I need to find a way to preserve that data into the future as we move away from Exchange on prem to Exchange Online sans Enterprise Vault.

Our environment:

  • Hybrid Exchange Online with on prem (for now).
  • Symantec Enterprise Vault version 11.x
  • Azure AD Sync (Premium)

Whilst there are already guides about ingesting un-encrypted PST files into O365 I found that the interface has changed since most of them were written so here we are with a fresh take.

Overview of process steps:

  1. Provision an account on prem to map the mailbox import to and wait for it to sync (or force a delta sync with Azure AD connect). I won’t document this step. Once the mailbox has migrated give it a license (Exchange Online Plan 1/Archive in my case).
  2. Assign the “Mailbox Import/Export” role to our admin account in Exchange Online to be able to import PSTs.
  3. Export the PST files from EV (If you do not use that you can just grab the PST files from wherever the source is).
  4. Download and install the AzCopy.exe to your migration client pc or server (from here).
  5. Create the upload task in protection centre.
  6. Get the import key for the azure storage blob to be used in azcopy.exe.
  7. Use AzCopy.exe at command line on your migration client pc or server to upload the PST.
  8. Create a PST Mapping File to link the mailbox in office 365 to the PST you just uploaded. Validate this after uploading. (Download the template here).
  9. Monitor the job status for errors during upload.


Assign the “Mailbox Import/Export” role to our admin account in Exchange Online to be able to import PSTs

  1. Go to the Office 365 Admin Center
  2. Open Exchange Admin Center
  3. Open Permissions on the left
  4. Edit the organisation management role (or another role you are a member of)
  5. Add the Import/Export role to the group and save.
  6. It may take 24 hours to take effect.


Download and install the AzCopy.exe to your migration client pc or server.

This is straight forward. Link here.

Create the upload task in protection center

  1. Browse to and click on Import
  2. Give your job a name
  3. Choose Upload your data
  4. Reveal the network upload SAS URL needed for AZCopy.exe
  5. Open command prompt and use the AzCopy.exe utility to upload the PST. The section called \\server\migration refers to the location where the files to be uploaded are stored. Below is the reference syntax and then an example of how I used it.

AzCopy.exe /Source:\\SERVER01\PSTshare /Dest:<Insert URL Here>/SERVER01/PSTshare/ /Destkey:<Insert Secure Key here> /S /V:C:\PSTshare\Uploadlog.log 

AzCopy.exe /Source:\\Server\Migration /Dest:" 707260624355748&sig=iCx6rtioGjBJUpLnbAcAaTno6%2FOTo3KAl5t%2B23AWZgA%3D" /V:C:\Users\username\Desktop\AzCopy1.log

6. Once complete check the log file for errors and then if all ok check “I’m done uploading my files”

7. Create the PST Mapping file using the template downloaded earlier:

  • You Can import multiple PST files to the same mailbox.


The fields are defined below. Make sure to retain all of the fields headings.

  • Workload: This will be Exchange as we are importing PSTs to Exchange Online mailboxes
  • FilePath: This must match the path that was appended to the URL we used with the /Dest switch in our AzCopy command above. For example, the URL we were given when we clicked on “Show URL” from the Office 365 portal was
    and we then appended server20/psts to that URL.  Therefore, we must enter /server01/pstshare1 in this column
  • Name: The name of each PST file we uploaded with AzCopy. In this example, these three PSTs were on a network share in the following location \\server20\psts
  • Mailbox: The email address of the mailbox to which you want to upload each PST. In this example the PST file named jdoe.pst will be imported to the mailbox with and email address of
  • IsArchive: Specifies whether the PST in question should be imported to the user’s primary mailbox or to their archive mailbox. Entering “False” imports to the primary mailbox and “True” to the archive mailbox presuming they have one configured
  • TargetRootFolder: Specifies the root folder within the mailbox where the data should be imported. The following options are available for this column:
    • By specifying a “/”, the PST is imported at the mailbox root level
    • Leaving this field blank results in the data being imported to a folder named “Imported”
    • A folder name can be entered, to which the data will then be imported

8. Once upload is done tick both boxes:

9. Select your mapping file and then validate it, you should then see its filename change to green if all is ok:

10. Once done it should say Success!

11. Monitor the analysis:

12. Once completed, you should see that it is ready to import:

13. Click on the Ready to import to Office 365 link and then click on the blue “Import to Office 365” link:

14. Choose whether you want to filter or not and click next:

15. Click Import Data:

16. Click Close and then monitor the job:

17. Once complete you should see Success in the table against each PST. You can review the log by clicking view log:



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s