Use network upload to import your organization's PST files to Microsoft 365

Microsoft 365 licensing guidance for security & compliance.

Note

This article is for administrators. Are you trying to import PST files to your own mailbox? See Import email, contacts, and calendar from an Outlook .pst file

Here are the step-by-step instructions required to use network upload to bulk-import multiple PST files to Microsoft 365 mailboxes. For frequently asked questions about using network upload to bulk-import PST files to Microsoft 365 mailboxes, see FAQs for using network upload to import PST files.

Step 1: Copy the SAS URL and download AzCopy

Step 2: Upload your PST files to Microsoft 365

(Optional) Step 3: View a list of the PST files uploaded

Step 4: Create the PST Import mapping file

Step 5: Create a PST Import job

Step 6: Filter data and start the PST Import job

You have to perform Step 1 only once to import PST files to Microsoft 365 mailboxes. After you perform these steps, follow Step 2 through Step 6 each time you want to upload and import a batch of PST files.

Tip

If you're not an E5 customer, use the 90-day Microsoft Purview solutions trial to explore how additional Purview capabilities can help your organization manage data security and compliance needs. Start now at the Microsoft Purview compliance portal trials hub. Learn details about signing up and trial terms.

Before you import PST files

  • You have to be assigned the Mailbox Import Export role in Exchange Online to create import jobs in the Microsoft Purview compliance portal and import PST files to user mailboxes. By default, this role isn't assigned to any role group in Exchange Online. You can add the Mailbox Import Export role to the Organization Management role group. Or you can create a role group, assign the Mailbox Import Export role, and then add yourself as a member. For more information, see the "Add a role to a role group" or the "Create a role group" sections in Manage role groups.

    In addition to the Mailbox Import Export role, you also have to be assigned the Mail Recipients role in Exchange Online. By default, this role is assigned to the Organization Management and Recipient Management roles groups in Exchange Online.

    Tip

    Consider creating a new role group in Exchange Online that's specifically intended for importing PST files. For the minimum level of privileges required to import PST files, assign the Mailbox Import Export and Mail Recipients roles to the new role group, and then add members.

  • The only supported method for importing PST files to Microsoft 365 is to use the AzCopy tool, as described in this article. You can't use the Azure Storage Explorer to upload PST files directly to the Azure Storage area.

  • Large PST files may impact the performance of the PST import process. So we recommend that each PST file you upload to the Azure Storage location in Step 2 should be no larger than 20 GB.

  • This procedure involves copying and saving a copy of a URL that contains an access key. This information will be used in Step 2 to upload your PST files, and in Step 3 if you want to view a list of the PST files uploaded to Microsoft 365. Be sure to take precautions to protect this URL like you would protect passwords or other security-related information. For example, you might save it to a password-protected Microsoft Word document or to an encrypted USB drive. See the More information section for an example of this combined URL and key.

  • You can import PST files to an inactive mailbox in Microsoft 365. You do this by specifying the GUID of the inactive mailbox in the Mailbox parameter in the PST Import mapping file. See Step 4 on the Instructions tab in this article for information.

  • In an Exchange hybrid deployment, you can import PST files to a cloud-based archive mailbox for a user whose primary mailbox is on-premises. You do this by doing the following in the PST Import mapping file:

    • Specify the email address for the user's on-premises mailbox in the Mailbox parameter.

    • Specify the TRUE value in the IsArchive parameter.

      See Step 4 for more information.

  • After PST files are imported, the retention hold setting for the mailbox is turned on for an indefinite duration. This means that the retention policy assigned to the mailbox won't be processed until you turn off the retention hold or set a date to turn off the hold. Why do we do this? If messages imported to a mailbox are old, they might be permanently deleted (purged) because their retention period has expired based on the retention settings configured for the mailbox. Placing the mailbox on retention hold gives the mailbox owner time to manage these newly imported messages or give you time to change the retention settings for the mailbox. See the More information section in this article for suggestions about managing the retention hold.

  • By default, the maximum message size that can be received by a Microsoft 365 mailbox is 35 MB. That's because the default value for the MaxReceiveSize property for a mailbox is set to 35 MB. However, the limit for the maximum message receive size in Microsoft 365 is 150 MB. So if you import a PST file that contains an item larger than 35 MB, the Microsoft 365 Import service we will automatically change the value of the MaxReceiveSize property on the target mailbox to 150 MB. This allows messages up to 150 MB to be imported to user mailboxes.

    Tip

    To identify the message receive size for a mailbox, you can run this command in Exchange Online PowerShell: Get-Mailbox <user mailbox> | FL MaxReceiveSize.

  • For a high-level overview of the PST Import process, see How the import process works section in this article.

Step 1: Copy the SAS URL and download AzCopy

The first step is to download the AzCopy tool, which is the tool that you run in Step 2 to upload PST files to Microsoft 365. You also copy the SAS URL for your organization. This URL is a combination of the network URL for the Azure Storage location in the Microsoft cloud for your organization and a Shared Access Signature (SAS) key. This key provides you with the necessary permissions to upload PST files to an Azure Storage location. Be sure to take precautions to protect the SAS URL. It's unique to your organization and will be used in Step 2.

Important

To import PST files using the network upload method and command syntax documented in this article, you must use the version of AzCopy that can be downloaded in step 6b in the following procedure. You can also download that same version of AzCopy from here. Using a different version of AzCopy isn't supported.

  1. Go to https://compliance.microsoft.com and sign in using the credentials for an administrator account in your organization.

  2. In the left pane of the compliance portal, select Data lifecycle management > Microsoft 365 > Microsoft 365 > Import.

    Note

    You have to be assigned the appropriate permissions to access the Import page in the compliance portal. See the Before you begin section for more information.

  3. On the Import tab, click Add Icon. New import job.

    The import job wizard is displayed.

  4. Type a name for the PST import job, and then click Next. Use lowercase letters, numbers, hyphens, and underscores. You can't use uppercase letters or include spaces in the name.

  5. On the Do you want to upload or ship data? page, click Upload your data and then click Next.

    Click Upload your data to create a network upload import job.

  6. On the Import data page, do the following two things:

    Copy the SAS URL and download the AzCopy tool on the Import data page.

    1. In step 2, click Show network upload SAS URL. After the SAS URL is displayed, click Copy to clipboard and then paste it and save it to a file so you can access it later.

    2. In step 3, click Download Azure AzCopy to download the AzCopy tool to your local computer. This version of AzCopy is just an executable file, so there's nothing to install.

    Note

    You can leave the Import data page open (in case you need to copy the SAS URL again) or click Cancel to close it.

Step 2: Upload your PST files to Microsoft 365

Now you're ready to use the AzCopy tool to upload PST files to Microsoft 365. This tool uploads and stores PST files in a Microsoft-provided Azure Storage location in the Microsoft cloud. As previously explained, the Azure Storage location that you upload your PST files to is located in the same regional Microsoft datacenter where your organization is located. To complete this step, the PST files have to be located in a file share or file server in your organization or in an Azure Storage location managed by your organization. The PST storage location is known as the source location in this procedure. Each time you run the AzCopy tool, you can specify a different source location.

Note

As previously stated, each PST file that you upload to the Azure Storage location should be no larger than 20 GB. PST files larger than 20 GB may impact the performance of the PST import process that you start in Step 6. Also, each PST file must have a unique name.

  1. Open a Command Prompt on your local computer.

  2. Go to the directory where you downloaded the azcopy.exe file in Step 1.

  3. Run the following command to upload the PST files to Microsoft 365.

    azcopy.exe copy "<Source location of PST files>" "<SAS URL>"
    

    Important

    You can specify a directory or an Azure Storage location as the source location in the previous command; you can't specify an individual PST file. All PST files in the source location will be uploaded.

    The following table describes the azcopy.exe fields and their required values. The information you obtained in the previous step is used in the values for these fields.

    Field Description
    Source The first field specifies the source directory in your organization that contains the PST files that will be uploaded to Microsoft 365. Alternatively, you can specify an Azure Storage location as the source location of the PST files to upload.
    Be sure to surround the value of this field with double-quotation marks (" ").

    Examples:
    "\\FILESERVER01\PSTs"
    Or
    "https://storageaccountid.blob.core.windows.net/PSTs?sp=racwdl&st=2021-09-21T07:25:53Z&se=2021-09-21T15:25:53Z&sv=2020-08-04&sr=c&sig=xxxxxx"
    Destination Specifies the SAS URL that you obtained in Step 1.
    Be sure to surround the value of this parameter with double-quotation marks (" ").

    Note: If you use the SAS URL in a script or batch file, watch out for certain characters that need to be escaped. For example, you have to change % to %% and change & to ^&.

    Tip: (Optional) You can specify a subfolder in the Azure Storage location to upload the PST files to. You do this by adding a subfolder location (after "ingestiondata") in the SAS URL. The first example doesn't specify a subfolder. That means the PST files are uploaded to the root (named ingestiondata) of the Azure Storage location. The second example uploads the PST files to a subfolder (named PSTFiles) in the root of the Azure Storage location.

    Examples:
    "https://3c3e5952a2764023ad14984.blob.core.windows.net/ingestiondata?sv=2012-02-12&amp;se=9999-12-31T23%3A59%3A59Z&amp;sr=c&amp;si=IngestionSasForAzCopy201601121920498117&amp;sig=Vt5S4hVzlzMcBkuH8bH711atBffdrOS72TlV1mNdORg%3D"
    Or
    "https://3c3e5952a2764023ad14984.blob.core.windows.net/ingestiondata/PSTFiles?sv=2012-02-12&amp;se=9999-12-31T23%3A59%3A59Z&amp;sr=c&amp;si=IngestionSasForAzCopy201601121920498117&amp;sig=Vt5S4hVzlzMcBkuH8bH711atBffdrOS72TlV1mNdORg%3D"
    --recursive This optional flag specifies the recursive mode so that the AzCopy tool copies PST files that are located in subfolders in the source directory that is specified by the source field. The default value for this flag is true.
    Note: If you include this flag, PST files in subfolders will have a different file pathname in the Azure Storage location after they're uploaded. You'll have to specify the exact file pathname in the CSV file that you create in Step 4.
    --s2s-preserve-access-tier This optional flag is only required when the source location is a general-purpose v2 Azure Storage location that supports access tiers. For the PST Import scenario, there is no need to preserve the access tier when you copy PST files from your Azure Storage account to the Microsoft-provided Azure Storage location. In this case, you can include this flag and use a value of false. You don't need to use this flag when copy PST files from a classic Azure Storage account, which doesn't support access tiers.

For more information about the azcopy.exe copy command, see azcopy copy.

Here are examples of the syntax for the AzCopy tool using actual values for each parameter.

Example 1

This is an example for a source directory located on file server or local computer.

azcopy.exe copy "\\FILESERVER1\PSTs" "https://3c3e5952a2764023ad14984.blob.core.windows.net/ingestiondata?sv=2012-02-12&amp;se=9999-12-31T23%3A59%3A59Z&amp;sr=c&amp;si=IngestionSasForAzCopy201601121920498117&amp;sig=Vt5S4hVzlzMcBkuH8bH711atBffdrOS72TlV1mNdORg%3D"

Example 2

This is an example for a source directory located in a classic Azure Storage account with subdirectories.

azcopy.exe copy "https://storageaccountid.blob.core.windows.net/PSTs?sp=racwdl&st=2021-09-21T07:25:53Z&se=2021-09-21T15:25:53Z&sv=2020-08-04&sr=c&sig=xxxxxx" "https://3c3e5952a2764023ad14984.blob.core.windows.net/ingestiondata?sv=2012-02-12&amp;se=9999-12-31T23%3A59%3A59Z&amp;sr=c&amp;si=IngestionSasForAzCopy201601121920498117&amp;sig=Vt5S4hVzlzMcBkuH8bH711atBffdrOS72TlV1mNdORg%3D" --recursive

Example 3

This is an example for a source directory located in a general-purpose v2 Azure Storage account. Access tiers aren't preserved when the PST files are uploaded.

azcopy.exe copy "https://storageaccountid.blob.core.windows.net/PSTs?sp=racwdl&st=2021-09-21T07:25:53Z&se=2021-09-21T15:25:53Z&sv=2020-08-04&sr=c&sig=xxxxxx" "https://3c3e5952a2764023ad14984.blob.core.windows.net/ingestiondata?sv=2012-02-12&amp;se=9999-12-31T23%3A59%3A59Z&amp;sr=c&amp;si=IngestionSasForAzCopy201601121920498117&amp;sig=Vt5S4hVzlzMcBkuH8bH711atBffdrOS72TlV1mNdORg%3D" --s2s-preserve-access-tier=false

After you run the command, status messages are displayed that show the progress of uploading the PST files. A final status message shows the total number of files that were successfully uploaded.

Tip

After you successfully run the azcopy.exe copy command and verify that all the parameters are correct, save a copy of the command line syntax to the same (secured) file where you copied the information you obtained in Step 1. Then you can copy and paste this command in a Command Prompt each time that you want to run the AzCopy tool to upload PST files to Microsoft 365. The only value you might have to change is for the source field. This depends on the source directory where the PST files are located.

(Optional) Step 3: View a list of the PST files uploaded to Microsoft 365

As an optional step, you can install and use the Microsoft Azure Storage Explorer (which is a free, open-source tool) to view the list of the PST files that you've uploaded to the Azure blob. There are two good reasons to do this:

  • Verify that PST files from the shared folder or file server in your organization were successfully uploaded to the Azure blob.

  • Verify the filename (and the subfolder pathname if you included one) for each PST file uploaded to the Azure blob. This is helpful when you're creating the PST mapping file in the next step because you have to specify both the folder pathname and filename for each PST file. Verifying these names can help reduce potential errors in your PST mapping file.

The Azure Storage Explorer standalone application is generally available. You can download the latest version using the link in the following procedure.

Important

You can't use the Azure Storage Explorer to upload or modify PST files. The only supported method for importing PST files is to use AzCopy. Also, you can't delete PST files that you've uploaded to the Azure blob. If you try to delete a PST file, you'll receive an error about not having the required permissions. Note that all PST files are automatically deleted from your Azure storage area. If there are no import jobs in progress, then all PST files in the ingestiondata container are deleted 30 days after the most recent import job was created.

To install the Azure Storage Explorer and connect to your Azure Storage area:

  1. Download and install the Microsoft Azure Storage Explorer tool.

  2. Start the Microsoft Azure Storage Explorer.

  3. On the Select Resource page in the Connect to Azure Storage dialog, click Blob container.

  4. On the Select Authentication Method page, select the Shared access signature (SAS) option, and then click Next.

  5. On the Enter Connection Info page, paste the SAS URL that you obtained in Step 1 into the box under Blob container SAS URL, and then click Next. After you paste the SAS URL, the box under Display name is autopopulated with ingestiondata.

  6. On the Summary page, you can review the connection information, and then click Connect.

    The ingestiondata container is opened. It contains the PST files that you uploaded in Step 2. The ingestiondata container is located under Storage Accounts > (Attached Containers) > Blob Containers.

  7. When you're finished using the Microsoft Azure Storage Explorer, right-click ingestiondata, and then click Detach to disconnect from your Azure Storage area. Otherwise, you'll receive an error the next time you try to attach.

Step 4: Create the PST Import mapping file

After the PST files have been uploaded to the Azure Storage location for your organization, the next step is to create a comma-separated value (CSV) file that specifies which user mailboxes the PST files will be imported to. You'll submit this CSV file in the next step when you create a PST Import job.

  1. Download a copy of the PST Import mapping file.

  2. Open or save the CSV file to your local computer. The following example shows a completed PST Import mapping file (opened in NotePad). It's much easier to use Microsoft Excel to edit the CSV file.

    Workload,FilePath,Name,Mailbox,IsArchive,TargetRootFolder,ContentCodePage,SPFileContainer,SPManifestContainer,SPSiteUrl
    Exchange,,annb.pst,[email protected],FALSE,/,,,,
    Exchange,,annb_archive.pst,[email protected],TRUE,,,,,
    Exchange,,donh.pst,[email protected],FALSE,/,,,,
    Exchange,,donh_archive.pst,[email protected],TRUE,,,,,
    Exchange,PSTFiles,pilarp.pst,[email protected],FALSE,/,,,,
    Exchange,PSTFiles,pilarp_archive.pst,[email protected],TRUE,/ImportedPst,,,,
    Exchange,PSTFiles,tonyk.pst,[email protected],FALSE,,,,,
    Exchange,PSTFiles,tonyk_archive.pst,[email protected],TRUE,/ImportedPst,,,,
    Exchange,PSTFiles,zrinkam.pst,[email protected],FALSE,,,,,
    Exchange,PSTFiles,zrinkam_archive.pst,[email protected],TRUE,/ImportedPst,,,,
    

    The first row, or header row, of the CSV file lists the parameters that will be used by the PST Import service to import the PST files to user mailboxes. Each parameter name is separated by a comma. Each row under the header row represents the parameter values for importing a PST file to a specific mailbox. You need a row for each PST file that you want to import to a user mailbox. You can have a maximum of 500 rows in the CSV mapping file. To import more than 500 PST files, you'll have to create multiple mapping files and create multiple import jobs in Step 5.

    Note

    Don't change anything in the header row, including the SharePoint parameters; they will be ignored during the PST Import process. Also, be sure to replace the placeholder data in the mapping file with your actual data.

  3. Use the information in the following table to populate the CSV file with the required information.

    Parameter Description Example
    Workload Specifies the service that data will be imported to. To import PST files to user mailboxes, use Exchange. Exchange
    FilePath Specifies the folder location in the Azure Storage location that you uploaded the PST files to in Step 2.
    If you didn't include an optional subfolder name in the SAS URL in the /Dest: parameter in Step 2, leave this parameter blank in the CSV file. If you included a subfolder name, specify it in this parameter (see the second example). The value for this parameter is case-sensitive.
    Either way, don't include "ingestiondata" in the value for the FilePath parameter.

    Important: The case for the file path name must be the same as the case you used if you included an optional subfolder name in the SAS URL in the destination field in Step 2. For example, if you used PSTFiles for the subfolder name in Step 2 and then use pstfiles in the FilePath parameter in CSV file, the import for the PST file will fail. Be sure to use the same case in both instances.
    (leave blank)
    Or
    PSTFiles
    Name Specifies the name of the PST file that will be imported to the user mailbox. The value for this parameter is case-sensitive. The file name of each PST file in the mapping file for an import job must be unique.

    Important: The case for the PST file name in the CSV file must be the same as the PST file that was uploaded to the Azure Storage location in Step 2. For example, if you use annb.pst in the Name parameter in the CSV file, but the name of the actual PST file is AnnB.pst, the import for that PST file will fail. Be sure that the name of the PST in the CSV file uses the same case as the actual PST file.
    annb.pst
    Mailbox Specifies the email address of the mailbox that the PST file will be imported to. You can't specify a public folder or unified group because the PST Import Service doesn't support importing PST files or unified groups to public folders.
    To import a PST file to an inactive mailbox, you have to specify the mailbox GUID for this parameter. To obtain this GUID, run the following PowerShell command in Exchange Online: Get-Mailbox <identity of inactive mailbox> -InactiveMailboxOnly \FL ExchangeGuid.
    Note: Sometimes you might have multiple mailboxes with the same email address, where one mailbox is an active mailbox and the other mailbox is in a soft-deleted (or inactive) state. In these situations, you have to specify the mailbox GUID to uniquely identify the mailbox to import the PST file to. To obtain this GUID for active mailboxes, run the following PowerShell command: Get-Mailbox <identity of active mailbox> \| FL ExchangeGuid.

    To obtain the GUID for soft-deleted (or inactive) mailboxes, run this command: Get-Mailbox <identity of soft-deleted or inactive mailbox> -SoftDeletedMailbox \| FL ExchangeGuid
    IsArchive
    Specifies whether to import the PST file to the user's archive mailbox. There are two options:

    FALSE: Imports the PST file to the user's primary mailbox.
    TRUE: Imports the PST file to the user's archive mailbox. This assumes that the user's archive mailbox is enabled.

    If you set this parameter to TRUE and the user's archive mailbox isn't enabled, the import for that user will fail. If an import fails for one user (because their archive isn't enabled and this property is set to TRUE), the other users in the import job won't be affected.
    If you leave this parameter blank, the PST file is imported to the user's primary mailbox.

    Note: To import a PST file to a cloud-based archive mailbox for a user whose primary mailbox is on-premises, just specify TRUE for this parameter and specify the email address for the user's on-premises mailbox for the Mailbox parameter.
    FALSE
    Or
    TRUE
    TargetRootFolder
    Specifies the mailbox folder that the PST file is imported to.

    If you leave this parameter blank, the PST file will be imported to a new folder named Imported at the root level of the mailbox (the same level as the Inbox folder and the other default mailbox folders).

    If you specify /, the folders and items in the PST file are imported to the top of the folder structure in the target mailbox or archive. If a folder exists in the target mailbox (for example, default folders such as Inbox, Sent Items, and Deleted Items), the items in that folder in the PST are merged into the existing folder in the target mailbox. For example, if the PST file contains an Inbox folder, items in that folder are imported to the Inbox folder in the target mailbox. New folders are created if they don't exist in the folder structure for the target mailbox.

    If you specify /<foldername>, items and folders in the PST file are imported to a folder named <foldername> . For example, if you use /ImportedPst, items would be imported to a folder named ImportedPst. This folder will be located in the user's mailbox at the same level as the Inbox folder.

    Tip: Consider running a few test batches to experiment with this parameter so you can determine the best folder location to import PST files.
    (leave blank)
    Or
    /
    Or
    /ImportedPst
    ContentCodePage
    This optional parameter specifies a numeric value for the code page to use for importing PST files in the ANSI file format. This parameter is used for importing PST files from Chinese, Japanese, and Korean (CJK) organizations because these languages typically use a double byte character set (DBCS) for character encoding. If this parameter isn't used to import PST files for languages that use DBCS for mailbox folder names, the folder names are often garbled after they're imported.

    For a list of supported values to use for this parameter, see Code Page Identifiers.

    Note: As previously stated, this is an optional parameter and you don't have to include it in the CSV file. Or you can include it and leave the value blank for one or more rows.
    (leave blank)
    Or
    932 (which is the code page identifier for ANSI/OEM Japanese)
    SPFileContainer
    For PST Import, leave this parameter blank.
    Not applicable
    SPManifestContainer
    For PST Import, leave this parameter blank.
    Not applicable
    SPSiteUrl
    For PST Import, leave this parameter blank.
    Not applicable

Step 5: Create a PST Import job

The next step is to create the PST Import job in the Import service in Microsoft 365. As previously explained, you submit the PST Import mapping file that you created in Step 4. After you create the job, Microsoft 365 analyzes the data in the PST files and then gives you an opportunity to filter the data that actually gets imported to the mailboxes specified in the PST import mapping file (see Step 6).

  1. Go to https://compliance.microsoft.com and sign in using the credentials for an administrator account in your organization.

  2. In the left pane of the compliance portal, select Data lifecycle management > Microsoft 365 > Import**.

  3. On the Import tab, click Add Icon. New import job.

    Note

    You have to be assigned the appropriate permissions to access the Import page in the compliance portal to create an import job. See the Before you import PST files section for more information.

  4. Type a name for the PST import job, and then click Next. Use lowercase letters, numbers, hyphens, and underscores. You can't use uppercase letters or include spaces in the name.

  5. On the Do you want to upload or ship data? page, click Upload your data and then click Next.

  6. In step 4 on the Import data page, click the I'm done uploading my files and I have access to the mapping file check boxes, and then click Next.

    Click the two check boxes in step 4.

  7. On the Select the mapping file page, click Select mapping file to submit the CSV mapping file that you created in Step 4.

    Click Select mapping file to submit the CSV file you created for the import job.

  8. After the name of the CSV file appears under Mapping file name, click Validate to check your CSV file for errors.

    Click Validate to check the CSV file for errors.

    The CSV file has to be successfully validated to create a PST Import job. The file name is changed to green after it's successfully validated. If the validation fails, click the View log link. A validation error report is opened, with an error message for each row in the file that failed.

    Note

    As previously explained, a mapping file can have a maximum of 500 rows. Validation will fail if the mapping file contains more than 500 rows. To import more than 500 PST files, you'll have to create multiple mapping files and multiple import jobs.

  9. After the mapping file is successfully validated, read the terms and conditions document, and then click the checkbox.

  10. Click Save to submit the job, and then click Close after the job is successfully created.

    A status flyout page is displayed, with a status of Analysis in progress and the new import job is displayed in the list on the Import PST files page.

  11. Click Refresh Refresh icon. to update the status information that's displayed in the Status column. When the analysis is complete and the data is ready to be imported, the status is changed to Analysis completed.

    You can click the import job to display the status flyout page, which contains more detailed information about the import job such as the status of each PST file listed in the mapping file.

Step 6: Filter data and start the PST Import job

After you create the import job in Step 5, Microsoft 365 analyzes the data in the PST files (in a safe and secure manner) by identifying the age of the items and the different message types included in the PST files. When the analysis is completed and the data is ready to import, you have the option to import all the data contained in the PST files or you can trim the data that's imported by setting filters that control what data gets imported.

  1. On the Import tab in the compliance portal, select the import jobs that you created in Step 5 and then click Import to Microsoft 365.

    The Filter your data page is displayed. It contains the data insights resulting from the analysis performed on the PST files by Microsoft 365, including information about the age of the data. At this point, you have the option to filter the data that will be imported or import all the data as is.

    You can trim the data in the PST files or import all of it.

  2. Do one of the following:

    1. To trim the data that you import, click Yes, I want to filter it before importing.

      For detailed step-by-step instructions about filtering the data in the PST files and then starting the import job, see Filter data when importing PST files to Microsoft 365.

      Or

    2. To import all data in the PST files, click No, I want to import everything, and click Next.

  3. If you chose to import all the data, click Import data to start the import job.

    The status of the import job is display on the Import PST files page. Click Refresh icon. Refresh to update the status information that's displayed in the Status column. Click the import job to display the status flyout page, which displays status information about each PST file being imported.

More information

  • Why import PST files to Microsoft 365?

    • It's a good way to import your organization's archival messaging data to Microsoft 365.

    • The data is available to the user from all devices because it's stored in the cloud.

    • It helps address compliance needs of your organization by letting you apply Microsoft Purview features to the data from the PST files that you imported. This includes:

    • Enabling archive mailboxes and auto-expanding archiving to give users additional mailbox storage space to store the data that you imported.

    • Placing mailboxes on Litigation Hold to retain the data that you imported.

    • Using Microsoft eDiscovery tools to search the data that you imported.

    • Using Microsoft 365 retention policies to control how long the data that you imported will be retained, and what action to take after the retention period expires.

    • Searching the audit log for mailbox-related events that affect the data that you imported.

    • Importing data to inactive mailboxes to archive data for compliance purposes.

    • Using data loss prevention policies to prevent sensitive data from leaking outside your organization.

  • As previously explained, the Microsoft 365 Import service turns on the retention hold setting (for an indefinite duration) after PST files are imported to a mailbox. This means the RetentionHoldEnabled property is set to True so that the retention policy assigned to the mailbox won't be processed. This gives the mailbox owner time to manage the newly imported messages by preventing a deletion or archive policy from deleting or archiving older messages. Here are some steps you can take to manage this retention hold:

    • After a certain time, you can turn off the retention hold by running the Set-Mailbox -RetentionHoldEnabled $false command. For instructions, see Place a mailbox on retention hold.

    • You can configure the retention hold so that it's turned off on some date in the future. You do this by running the Set-Mailbox -EndDateForRetentionHold date command. For example, assuming that today's date is June 1, 2016 and you want the retention hold turned off in 30 days, you would run the following command: Set-Mailbox -EndDateForRetentionHold 7/1/2016. In this scenario, you would leave the RetentionHoldEnabled property set to True. For more information, see Set-Mailbox.

    • You can change the settings for the retention policy that's assigned to the mailbox so that older items that were imported won't be immediately deleted or moved to the user's archive mailbox. For example, you could lengthen the retention age for a deletion or archive policy that's assigned to the mailbox. In this scenario, you would turn off the retention hold on the mailbox after you changed the settings of the retention policy. For more information, see Set up an archive and deletion policy for mailboxes in your organization.

How the import process works

You can use the network upload option and the Microsoft 365 Import service to bulk-import PST files to user mailboxes. Network upload means that you upload the PST files a temporary storage area in the Microsoft cloud. Then the Microsoft 365 Import service copies the PST files from the storage area to the target user mailboxes.

Here's an illustration and description of the network upload process to import PST files to mailboxes in Microsoft 365.

Workflow of the network upload process to import PST files to Microsoft 365.

  1. Download the PST import tool and key to private Azure Storage location: The first step is to download the AzCopy command-line tool and an access key used to upload the PST files to an Azure Storage location in the Microsoft cloud. You obtain these from the Import page in the compliance portal. The key (called a secure access signature (SAS) key, provides you with the necessary permissions to upload PST files to a private and secure Azure Storage location. This access key is unique to your organization and helps prevent unauthorized access to your PST files after they're uploaded to the Microsoft cloud. Importing PST files doesn't require your organization to have a separate Azure subscription.

  2. Upload the PST files to the Azure Storage location: The next step is to use the azcopy.exe tool (downloaded in step 1) to upload and store your PST files in an Azure Storage location that resides in the same regional Microsoft datacenter where your organization is located. To upload them, the PST files that you want to import have to be located in a file share or file server in your organization.

    There's an optional step that you can perform to view the list of PST files after they're uploaded to the Azure Storage location.

  3. Create a PST import mapping file: After the PST files have been uploaded to the Azure Storage location, the next step is to create a comma-separated value (CSV) file that specifies which user mailboxes the PST files will be imported to, note that a PST file can be imported to a user's primary mailbox or their archive mailbox. The Microsoft 365 Import service uses the information in the CSV file to import the PST files.

  4. Create a PST import job: The next step is to create a PST import job on the Import PST files page in the compliance portal and submit the PST import mapping file created in the previous step. After you create the import job, Microsoft 365 analyzes the data in the PST files and then gives you an opportunity to set filters that control what data actually gets imported to the mailboxes specified in the PST import mapping file.

  5. Filter the PST data that will be imported to mailboxes: After the import job is created and started, Microsoft 365 analyzes the data in the PST files (safely and securely) by identifying the age of the items and the different message types included in the PST files. When the analysis is completed and the data is ready to import, you have the option to import all the data contained in the PST files or you can trim the data that's imported by setting filters that control what data gets imported.

  6. Start the PST import job: After the import job is started, Microsoft 365 uses the information in the PST import mapping file to import the PSTs files from the Azure Storage location to user mailboxes. Status information about the import job (including information about each PST file being imported) is displayed on the Import PST files page in the compliance portal. When the import job is finished, the status for the job is set to Complete.