PST Migration FAQs

The following guide covers general information on PST migrations. We also have a collection of step-by-step guides for all PST migrations here.

Journal-based PST Files

BitTitan does not support the migration of journal-based PST files. The main reason for this is that these journal-based PST files contain a single instance for every mail message, versus separate PSTs for each mailbox. BitTitan does not support exploding these single instance messages to the target TO: CC: BCC: recipient mailboxes with our PST migration capability.

Choosing Destination Mailbox

  1. Once the PST files have been imported into the MigrationWiz project, they will appear as the name of the file under the "Path" column. The owner's email address should be displayed under the "Destination Email" column. If is displayed as the Destination email instead of the actual owner's email address:
    1. Click on the Edit Item (pencil icon) to the right of the row.
    2. Under the Destination Email Address field, enter the mailbox that this file will be ingested into.
  2. (Optional) Click on the Edit Item (pencil icon) to the right of the row, and enter any folder mappings to be included. 
  3. Click on the green Save Item button.

UploaderWiz will try to guess the owner of the uploaded PST files, to ensure that items get ingested into the correct Destination mailbox. UploaderWiz will look into the PST files, and try to identify the owners based on the following algorithm:

  1. Open PST and check the recipients within the Inbox folder. If an owner can be identified, stop the algorithm.
  2. Open PST and check the senders in the Sent Items folder. If an owner can be identified, stop the algorithm.
  3. Check the owner field attached to PST. If an owner can be identified, stop the algorithm.
  4. Fall back on This email address will always generate an error if not changed because BitTitan owns the domain, so there won't be chances of “migrations by mistake”.

The first two checks will only occur if the command used to upload the files includes the -autodiscover True parameter. If the upload did not include that parameter, the files will upload, but will not automatically set the appropriate user when added to the project at the destination. The user will need to be set manually if this parameter has not been included. 

PST File Migrations Total Data Migrated Discrepancies

Outlook Data Files (PST files) are Outlook's repositories for email, contacts, calendar information, and much more.

When you delete an item in Outlook, it is moved to the Deleted Items folder, without freeing any space in your PST.

After you empty the Deleted Items folder, the size of PST will not change; the deletions will leave "white spaces" within it, as a result of the previous fragmentation that it runs (because it is a mini-database).

So, when you save items in your PST, their size increases. When you remove items, it does not decrease but keeps the size thanks to those white spaces, unless you compact the file.

Our process puts all existing items in an order that ignores the white spaces of the original PST file, so the size of the migrated data may be different, usually smaller, although it will contain all your data.

Discover PST Files for Azure Upload via Group Policy Object


Using UploaderWiz with autodiscovery mode may not discover the correct owners for the PST file. If it fails to discover the owner, a unique name is created which can make it hard to identify the owner and configure the project properly.  To set up UploaderWiz more directly without using the autodiscovery mode, you can use the instructions in this article instead: Using BitTitan UploaderWiz for File Server Migrations.

To discover PST files on the network and then upload them to Azure, complete each of the steps detailed below. If this project is shared and there are security concerns, a SAS token may be used. For setup instructions, see step 3 below.

Step 1

Create a network share that is accessible to all of your customers’ computers, and put the UploaderWiz-extracted files in the shared folder. For more information about Windows Server file and storage services, read the File and Storage Services Overview TechNet article.

  1. Log on to the file server as an administrator.
  2. Click Start and search for Server Manager.
  3. Click Server Manager from the search results.
  4. Click File and Storage Services.
  5. Click Shares.
  6. Next to Shares, click Tasks.
  7. Click New Share.
  8. In New Share, Disallow Read and Allow Write., then continue through the New Share Wizard prompts until finished.
  9. Click Create.
  10. Write down the share's network path; you will need this when creating the scheduled task.

Step 2

Download and extract the UploaderWiz files into the share.

  1. Log on to the file server as an administrator.
  2. Download the BitTitan UploaderWiz tool from here. Select the shared directory as the download directory, and click the Save button > Once downloaded, select the file: UploaderWiz.exe > select Extract > Extract All > Browse to the shared directory to extract these files. Click Extract.

Step 3

Create the batch file, which will be called by the Group Policy Object (GPO).


  1. Azure access key and Azure secret key. Read the Manage your storage access keys topic from Microsoft for more information. The Azure access key refers to the storage account name. The Azure secret key can be either the primary or secondary access key.
  2. Create a private blob container. Take note of the name of the blob container.
  3. Generate a shared access signature (SAS) token, and then use it instead of the secret key. With a SAS token, you avoid exposing the secret key to all the users who will run the GPO, instead of the secret key. To generate a SAS token:
    1. Download the UploaderWiz ZIP file and extract the contents to the C:\\BitTitan directory.
    2. Click Start, and type CMD.
    3. In the search results, right-click Command Prompt, and select Run as administrator.
    4. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.
    5. Type this command, and then press Enter:
      cd C:\
    6. Type this command, and then press Enter:
      cd C:\BitTitanThis command assumes that you extracted the contents of the UploaderWiz ZIP file to the C:\BitTitan directory as directed in the Prerequisites section of this article.
    7. Type this command, and then press Enter to generate the SAS token:
      UploaderWizexe -command generatetoken -type azureblobs -accesskey <access key> -secretkey <secret key> -container <container name>
    8. Define the following parameters in your version of the command:
      1. Enter the Azure Storage Account name for the <access key>
      2. Enter the primary access key for the <secret key>
        For more information, read the Manage your storage access keys topic from Microsoft.
      3. Enter the storage container name for the <container name>
      4. You should see a response like the one shown below:
      5. If you see a 403 Forbidden response, you might have defined an incorrect parameter. Confirm that the parameters are accurate, and try again.
      6. Copy the output command, or the SAS token if that is all you need.
      7. Run UploaderWiz with the SAS token:
        \\servername\sharename\UploaderWiz.exe -accesskey <Storage Account Name> -secretkey ignoredValue -token xxxxxxxxxx -container <container name> -type azureblobs -autodiscover true -interactive false -filefilter "*.pst" Replace xxxxxxxx with the secret key.

Once completed, perform the following steps: 

  1. While logged into the file server as an administrator, create a batch file in the share, e.g., discover.bat.
  2. Use a simple text editor (e.g., Notepad), and enter the following command parameters in the file:

    Run UploaderWiz with secret key:

    \\servername\sharename\UploaderWiz.exe -accesskey <Storage Account Name> -secretkey <Access key> -container <container name> -type azureblobs -autodiscover true -interactive false -filefilter "*.pst"

    Run UploaderWiz with SAS token:

    \\servername\sharename\UploaderWiz.exe -accesskey <Storage Account Name> -secretkey ignoredValue -token xxxxxxxxxx -container <container name> -type azureblobs -autodiscover true -interactive false -filefilter "*.pst"

  3. Replace \\servername\sharename with the share's network path. Example:
    • The file server name is PTS-FILESRV
    • The share name is discover
    • The files were extracted into a directory named UploaderWiz

If PST files for all users are in a certain directory, then you can add a flag to define the rootpath. For example, if PST files are always in a directory named c:\pst, then you can add the following flag to your command line parameters:

-rootpath c:\pst

Step 4

Create a Group Policy Object that forces the domain-joined computers in a security filter to execute the batch file through a scheduled task.

  1. Log on to the Active Directory Domain Controller as an administrator.
  2. Click Start, and search for Group Policy Management.
  3. Click Group Policy Management.
  4. Right-click the desired Active Directory domain, and then click Create a GPO in this domain and select where to connect it.
  5. Enter a name for the GPO, and then click OK. By default, the GPO will apply to all users and computers that successfully authenticate to the Active Directory domain.
  6. To narrow the scope of computers that run the batch file, select Authenticated Users, and click Remove.
  7. To confirm the removal, click OK.
  8. To add a new security filter, click Add.
  9. Type the name of the security group that the target computers are a member of, and click Check names.
  10. We preconfigured the "US Employees" security group for demonstration purposes. For more information about Active Directory security groups, read the Active Directory Security Groups TechNet article.
  11. Click OK.
  12. Right-click the new GPO, and then click Edit.
  13. In the console tree, under Computer Configuration, click Preferences > ControlPanel Settings > Scheduled Tasks.
  14. Right-click under Scheduled Tasks, click New, and then click Immediate Task (At least Windows 7). For more information about Scheduled Task Items, read the Configure a Scheduled Task Item TechNet article.
  15. Enter a name and a description for the Scheduled Task.
  16. Click Change User or Group.
  17. Type system into the Object name text box.
  18. Click Check Names. Make sure that the system object name resolves to NT Authority\System.
  19. Under Security options, click Run whether a user is logged on or not and add a checkmark next to Run with highest privileges.
  20. In the Configure for drop-down menu, select Windows 7®, Windows Server™ 2008 R2.
  21. Click the Actions tab
  22. Click New.
  23. In the Action drop-down menu, select Start a program.
  24. In the Programs/script text box, enter the network path for the batch file. If you use the Browse button to find the location of the script, it will add the path as c:\xxxx. This is incorrect since the script needs to include the UNC path and not the local path. Be sure to replace the c:\ format with the \\servername\sharename\ format.
  25. Click OK.
  26. Click the Conditions tab.
  27. Add a checkmark next to Start only if the following network connection is available, and then select Any connection.

  28. Click OK.
  29. Close the Group Policy Management Editor, and then close Group Policy Management.

The discover.bat file will execute on user computers at the next Group Policy refresh, typically every 90 minutes, with a random offset of 0 to 30 minutes.

Step 5

Check the Azure blob container for PST files.

After waiting for the allotted GPO refresh time, check your Azure blob container for the PST files.

If PST files are not discovered and uploaded to the container, refer to the UploaderWiz Troubleshooting Guide. UploaderWiz log files are stored in %LOCALAPPDATA%\BitTitan folder.

If PST files have been discovered and uploaded to Azure, then you are ready to continue with your PST migration project. You can create a MigrationWiz Personal Archive project, auto-discover the PST files in Azure, and import them into your project, by following the steps in the PST migration guide.

Was this article helpful?
0 out of 1 found this helpful