Yes, you are right! It is annoying! There is still no command line-free feature for doing this in 2020. I couldn’t find a very detailed step-by-step instruction with key screenshots for this so I edit this post for saving my time and your time in the future.
In this article, I will explain how to use Azure AzCopy for importing PST files into Office 365. It is useful when you have multiple mailboxes to import. The network upload is free but uploading may take some time.
Assign the Mailbox Import Export role to Global Admins
Before we can start importing you will need to assign the Mailbox Import Export role to the Global Admins in Exchange Online.
Open the Exchange Admin Center through https://admin.portal.com, and go to Permissions.
- In the admin roles select Organisation Management.
- Click on the plus to add a role
- Select the Mailbox Import Export role and click Ok
Creating a New Import Job
Go to https://protection.office.com and click on Information governance > import.
- Select Import PST Files
- Click on New Import Job
- Choose Upload
On the summary page, we will find the SAS URL that we need later and a download link to the Azure AzCopy tool.
Download and install the Azure AzCopy tool and copy the SAS Url.
You can leave the screen open or click Cancel and Continue later on.
Uploading the file
After you have installed the Azure AzCopy tool you can open it. The tool is only a command-line tool to upload the files. Yes, you are right! Annoying!
The upload tool will upload all the pst files in the source folder, do NOT select a single pst file. Use the following command to upload the files.
AzCopy.exe /Source:"<Location of PST files>" /Dest:"<SAS URL>" /V:"<Log file location>" /Y
*Do NOT forget the quotes around the source and dest paths, otherwise you will get an error that the syntax is incorrect.
Depending on the size of the files it will take some time to upload the pst files.
Checking the uploaded PST Files (optional)
After the files are uploaded you might want to check it your self if all the pst files are uploaded to the Azure Storage. Download the Azure Storage Explorer and install it.
After you opened the Storage Explorer you will need to add an account.
- Click on Add an account…
- Select Use a shared access signature (SAS) URI
- Pass the SAS URI that we got from the import job
- Click Next and Connect
Mapping the PST Files
The next step is to map the PST files to the mailbox in Office 365. You can use a CSV file this, a template for it can be downloaded here at Microsoft.
In the CSV file you will find a couple of columns/parameters:
- Workload – For pst import to the user’s mailbox, leave this on Exchange
- FilePath – If you only have pst file in the root folder, then you can leave this empty.
- Name – The name of the pst file (XXX.pst)
- Mailbox – The mailbox you want to import to
- IsArchive – Import the pst file to the user’s archive folder. Set it to true or false.
- TargetRootFolder – If you leave this blank, then the files will be imported to a new folder named Imported in the user’s mailbox. If you want to merge the data with the existing folders then use only /
- You can ignore the other fields, just leave them empty.
Enabling archive mailbox in Office 365
If you didn’t enable the archive mailbox you will get the following error:
Completing the import
After you have mapped all the pst files we can complete the import job. Go back to protection.office.com and open the import job.
- Select I’m done uploading my files and I have access to the mapping file
- Click Next and select the mapping file (csv file)
- Click on Validate to validate the csv file
- Click on Save when the validation is complete
Your new import job will be analyzed before you can actually start importing. Again, depending on the size this can be done a couple of minutes or longer. Click refresh to check the status.
Follow the screens to start the import.
You can now filter the data or if you just want to import everything, simply tick what you want and click on Next to start the import job.
The import process may take a long time and you may see the In progress -0% unchanged even if you close or refresh the job screen and check back later. Yes, you are right! Annoying!