In May of this year Microsoft introduced a “preview” version of a new tool; the Office 365 Import Service. Office 365 administrators with mail message data in PST archive files can directly import message data into user mailboxes. Whether the PST files are shipped to Microsoft on physical disks or uploaded over the Internet Office 365 administrators use mapping files that link PST files to specific mailboxes. This post will guide you through the processes of uploading and highlight the quirks along the way.
Preparation: Processing Account Setup
For the import process to work, you need to create an account with the privileges necessary to put mail into user mailboxes. The Office 365 Administrator needs to setup an Exchange admin role and assign the user performing the mail data import to that role.
To create the PST File Import role do the following:
- Login to the Office 365 portal as an administrator.
- Navigate to ADMIN and click the Exchange link in the left most window pane.
- The Exchange admin center window will appear—from there click the admin roles link in the permissions section.
- In the admin roles window click the + (new) button.
- A new window titled new role group will appear; set the following options:
- Set the Name field to be PST File Import.
- Set the Description field to be User accounts with access for mailbox data import processes.
- Leave the Write scope field set to Default.
- Under Roles click the + button and add the Mailbox Import Export role.
- Under Members click the + button and add the administrative account that will be used to import the PST files.
- When everything is filled out as described click the Save button.
You need to install the software for uploading the PST files to Office 365 on a local computer. The Azure Storage Explorer 6 Preview 3 (August 2014) edition can be found here in the download section. Follow the default instructions and make sure this is done on the computer that will be used to perform the upload.
Step 1: Create Mapping File(s)
In step 2 the mapping file will be used to inform Office 365 PST which files belong to what mailbox in the cloud. A mapping file is a comma separated value file should contain the following fields:
- Workload – This field specifies the Office 365 function data to which the data will be imported, for this process this field should read Exchange for all lines besides the header row.
- FilePath – when files are uploaded to Office 365 through a folder structure recursively each uploaded item tracks the hierarchy from the uploaded; the process used will result in their being no Filepath so this column should be left blank.
- Name – this is file name of the PST file that was uploaded; this should match the file name listed that will later be seen in the Azure Storage Tool.
- Mailbox – this field should contain the e-mail address of the mailbox where PST data will be imported.
- IsArchive – this field will determine if the PST data is imported to the user’s mailbox or their archive mailbox; set this field to FALSE for their mailbox and TRUE for their archive mailbox.
- TargetRootFolder – this field specifies the folder name to import PST data into; by default if this is left blank a folder named import will be created and the data will be imported to that folder and respective sub-folders as found in the source PST file.
- SPFileContainer – for Microsoft use only, leave this field blank.
- SPManifestContainer – for Microsoft use only, leave this field blank.
- SPSiteUrl – for Microsoft use only, leave this field blank.
An example version of the CSV import mapping file is available from Microsoft and can be found here. The mapping file should have a separate row for each PST file that will be imported to Office 365; note that multiple PST files may be mapped to a single mailbox and folder. My suggestion is to use Microsoft Excel to populate the data in the mapping file since it makes keeping track the columns easier, especially in cases where there are many rows involved. Be careful when creating a mapping file that will be used for multiple users and/or multiple PST files. An error in the mapping file could result in user data being placed in the wrong mailbox.
Step 2: Upload Your PST File(s)
We are going to focus on the option mentioned before that allows you to upload files on your network in the Office 365 admin console. Go through the following process to update the data to Office 365 using the Azure Storage Tool:
- From a computer where the PST files are accessible via Windows Explorer login to the Office 365 admin portal.
- In the Office 365 portal on the left window pane click the Import link.
- On the Import files to Office 365 window click the + button and select Upload files over the network link from the list.
- A window will appear titled Upload files over the network with a list of four steps. Disregard Microsoft Technet’s directions (linked in the first step on this page) to use the AzCopy command line tool to upload the PST files to Office 365 and instead launch the Azure Storage Explorer application you installed earlier.
- Click the Add Account button in the Azure Storage Explorer.
- In the Upload files over the network window click the Show URL link. In the URL that appears copy all information after https:// but before .blob.core.windows.net/ingestiondata/ and paste this data into the Storage account name field of the Add Storage Account window.
- In the Upload files over the network window click the Show key link. In the box that appears the entire string of text and paste it into the Storage account key field.
- Check the Use HTTPS box and then click the Test Access button. If the Account access successful text appears click the Save button—otherwise revisit steps five and six carefully reviewing the copied and pasted items.
- After a few seconds connecting, the left most window pane of the Azure Store Explorer window will be populated. Navigate through Blob Containers to the ingestiondata node then click the Upload button.
- Navigate to the PST file(s) to be processed and select them to be uploaded. Depending on the size and bandwidth available the upload could several seconds to multiple hours.
- When the upload is complete check the boxes next to I’m done uploading my files and I have access to the mapping file in the Upload files over the network window then click the Next button.
- In the next screen of the Upload files over the network window, enter a job name for this processing batch and then click the Next button.
- On the next screen click the + button. Select the mapping file and then can click the Open button.
- Check the box labeled By checking this box, you agree to the terms and conditions of this service and then click the Finish button. The mapping file will automatically be processed by Office 365’s Import Service and in testing the job of importing the data usually began within 10 minutes following the mapping file upload.
Note that at the time of writing there is a limitation to how many jobs can be displayed in the job tracking section—at last check no more than 30 jobs would appear. Likewise, there appears to be a limit on the number of PST file processes that can be displayed on screen. One tip I would suggest during a large migration of PST files is adopting a strategy for naming jobs that would alphabetically appear at the head of the list to be able track status of jobs.
Step 3: Track Processing
This is part of the process where there is sure to be refinement yet to come. As mentioned in the note at the end of the last step, there is a limit to the number of items the Import files to Office 365 feature will show and also a limit to the number of files in each job that will be displayed. This feature is advertised as being in preview mode for good reason and Technet documentation is being updated frequently. In testing all files successfully processed and the mail data was confirmed to be available to users, even if files were not displayed on screen.
Each job submitted that appears in the Import files to Office 365 window displays Name, Type, Status last changed and Status fields. To get the processing details of each job click on it and then click the View details link in the right most web frame. This will launch the job’s respective Status window.
The job’s Status window has some interesting quirks as well. Definitive information regarding the status of the job appears to be the details pane on the right. If the status shows 100% complete then the job has finished regardless of the text string status of the last event listed. While testing files would import successfully but the status listed in particular events would show the last event as Import files in progress indefinitely while the Status column would read Completed with errors or Success.
If errors occurred during the import process, this information can be viewed at a cursory level in the Office 365 admin console. For additional item level detail (e.g. single item import failures) on these error messages, connect the Azure Storage Explorer as outlined in step 2 and navigate to Blob Containers and then errorreports. The reports in this location will highlight which Exchange items failed to import and offer additional data as to why this occurred.
While the Office 365 Import Files functionality is still technically in preview, it appears to work fine in testing albeit a little rough around the edges. Keys to using this tool are being extremely cautious when setting up the mapping file and importing the user’s PST files and validating the processing status for results. While the process outlined here used the Azure Storage Explorer utility to perform the upload of PST files, the AzCopy powershell cmdlet can be used as well (specifics available on Technet) and the choice is left up to the administrator as both work with the tool at this point. This is definitely a tool that will help administrators with migrations to Office 365 services and will hopefully continue to mature, but currently can be fully useful by leveraging some of these tips.