BitTitan provides a tool called UploaderWiz to facilitate uploading data to an Azure storage account in advance of being migrated to a Destination system. UploaderWiz uploads all of the data contained in a specified folder (and its subfolders) to an Azure blob container.
Note: Using UploaderWiz requires that .NET Framework version 4.6.1 or later be installed on the computer on which UploaderWiz runs.
If this project will be shared and there are security concerns, an SAS token may be used. For set up instructions, visit Generate an SAS token for Azure Storage Accounts
Note: It is expected behavior to see PST files in a temp folder during PST discovery mode. These files will be cleared out of the temp directory at the end of the migration.
In the case of PST file migrations, in order to locate PST files on the Source, UploaderWiz can be run in "PST discovery mode" so it will scan local drives and locate PST files. Once the PST files are discovered, UploaderWiz automatically renames them and then uploads them to a specified Azure storage account. MigrationWiz then migrates the data from the Azure store to the Destination system.
Additional features of UploaderWiz:
- PST files are anonymous in their naming convention. UploaderWiz in PST discovery mode will suggest an owner of the PST file, based on a proprietary algorithm during the upload. The uploaded PST file will be renamed to <owner>_<computer name>_<index>.pst.
Note: The owner is a suggested owner. It is always a good idea to verify the owner when imported into MigrationWiz. This feature will guess the owner based on three criteria:
- Recipients found in the Inbox folder
- Senders found in the Sent Items folder
- Owner field attached to the PST file
- When the owner cannot be determined, it will fall back to email@example.com, which needs to be manually amended.
- UploaderWiz in PST discovery mode allows the scan process to run silently, without any end user interaction.
- PST files can be attached to Outlook profiles. The UploaderWiz in PST discovery mode will generate a warning to the end users if the PST files are attached to an open Outlook profile. The end users can then close Outlook temporarily and the upload will continue. When the PST files are uploaded, the end users will get a second pop-up to tell them that they can use their Outlook again. If the end users do not close their Outlook clients, after a while an error file will be generated on the Azure Storage Account.
- UploaderWiz can process password-protected PST files. (Although they can be processed by UploaderWiz, MigrationWiz does not support password-protected PST files.)
- UploaderWiz allows a subset of the local drives to be scanned.
- UploaderWiz allows upload windows (for example, from 6 PM to 8 AM) in case bandwidth might be an issue.
- UploaderWiz has a multi-threaded block level upload capability.
- UploaderWiz can be run both on end user computers (even on non-company-owned computers) and company-owner servers (for example, if PST files are stored on file servers).
- UploaderWiz generates logs that will be stored on %temp%\UploaderWiz. The log file name will be UploaderWiz-<computer name>.log
- UploaderWiz cannot fix corrupt PST. These need to be fixed using other tools.
Here are the three steps to follow for using UploaderWiz:
1. Download the UploaderWiz tool, extract it from the .zip file, and deploy it.
- Download the BitTitan UploaderWiz tool from here.
- Select the download directory and click the Save button.
- Once downloaded, select the file: UploaderWiz.exe, select Extract > Extract All > and browse to the directory (for example, C:\bittitan) to extract these files to. Click on Extract.
Note: UploaderWiz should be extracted to a different directory from where the PST files reside.
- Select how UploaderWiz should be deployed. Deployment can be done in three ways:
- Manually on each computer storing PST files.
- By Group Policy: See How do I discover PST files and upload them to Azure via a Group Policy Object? for more information.
2. Set the UploaderWiz parameters.
Open Notepad and write the required UploaderWiz command line appending the mandatory parameters and one or more of the optional parameters to tune UploaderWiz.
UploaderWiz -accesskey yourAccount -secretkey yourKey -container yourContainer -type azureblobs -filefilter "*.pst" -parameter1 valueParameter1 -parameter2 valueParameter2,...
-filefilter are mandatory parameters and
-parameter2, etc. are optional parameters.
Here is the full list of parameters that can be included when running the UploaderWiz:
The most important UploaderWiz parameters:
- Type: (mandatory) azureblobs
- Accesskey: (mandatory) The Storage Account Name specified in Azure. If using BitTitan Azure storage account, the BitTitan account name must be obtained from the MigrationWiz archive project, as described below.
- Secretkey: (mandatory) The Primary Access Key to access the Azure Storage Account retrieved from Azure (from the Storage screen, click Manage Access Keys at the bottom of the screen). If you are using the BitTitan Azure storage account, the BitTitan secret key must be obtained from the MigrationWiz archive project, as described below.
- Container: (mandatory) The name of the public blob container (a.k.a. bucket) on the Azure Storage Account where the PST files will be uploaded to. If using using the BitTitan Azure storage account, the BitTitan container name must be obtained from the MigrationWiz archive project, as described below. It will be the MigrationWiz project's unique ID.
- Token: (mandatory only if using using the BitTitan Azure storage account) the BitTitan authentication token provided by MigrationWiz to use BitTitan storage. It must be obtained from the MigrationWiz archive project, as described below. It will change every 24 hours, so it needs to be refreshed if the upload is resumed 24 hours after the first one.
- Filefilter "*.pst": (mandatory) A file search pattern to select files to be included in the upload. Required when using UploaderWiz to upload PST files. Optional when using UploaderWiz to upload other file types in other migration types like FileServer. It can be a combination of literal and wildcard characters to narrow the search to a specific type of file, but doesn't support regular expressions. The two accepted wildcards are:
- * (asterisk) which matches zero or more characters in that position. (i.e., m*.pst locates all files that begin with "m" but have the file name extension .pst, such as mandy.pst and marie.pst)
- ? (question mark) which matches zero or one character in that position. (i.e., mar?.pst locates all files that begin with "mar", may have or not another character and ends with the file name extension .pst, such as mar.pst and mary.pst)
- Autodiscover: (mandatory only if using UploaderWiz in PST discovery mode) True. It enables the PST discovery mode so that UploaderWiz will automatically discover all PST files and identify their corresponding owners.
- Interactive: (mandatory only if using UploaderWiz in PST discovery mode) False.
- RootPath: (mandatory if not using Autodiscover or optional if using Autodiscover to restrict the scan) The directory path to where the PST files are stored. It should point to a directory, not to the filename. UploaderWiz will then restrict the scanning for PST files only in the specified folder and all subfolders even if Autodiscover feature was enabled with the Autodiscover parameter (e.g., if all PSTs to be uploaded are under , then change the rootpath to be -rootPath "").
- Noupload: (optional) Start time/end time based on local time zone (e.g., -noupload 6:30-18:15). It defines a time window in the 24-hour format during which no data will be uploaded.
- -ignorenetworkdrives: True. This restricts search to local machines. Not required, but strongly suggested.
- Force: (optional)
- True: It ignores the previous run so all PST files will be re-uploaded.
- False (or no parameter): It uploads based on metadata so all PST files are resumed from where they left off.
Other optional UploaderWiz parameters:
- Pathfilter: (optional) A folder search pattern to select folders to be included in the upload (e.g. -Folderfilter "MyFolderName" will migrate only the folder "MyFolderName"). It can be a combination of literal and wildcard characters to narrow the search down which can be also used with the concatenate operator | (e.g., "MyFolderA|MyFolderB" will only migrate MyFolderA and MyFolderB), but doesn't support regular expressions. The two accepted wildcards are:
- * (asterisk) which matches zero or more characters in that position in the matching root folder names and select all the subfolders of those root folders. (i.e., My* locates all folders that begin with "My" such as MyFolderA and MyFolderB, but also all its subfolders such as . With the concatenate operator MyFolderA*|MyFolderB it will select all root folders starting with "MyFolderA" such as MyFolderA, MyFolderAB... and all their subfolders, along with the folder MyFolderB, but not subfolders of MyFolderB).
- ? (question mark) which matches zero or one character in that position. (i.e., MyFolder? locates all files that begin with "MyFolder" but may, or may not, have another character such as MyFolder, MyFolderA, and MyFolderB).
- Filepath: (optional) The directory path to where a single PST file resides followed by its file name. It will be used to upload a single PST file.
Note: When using this parameter, RootPath, Pathfilter and Filefilter cannot be used at the same time.
- Concurrent Upload: UploaderWiz runs 10 upload threads by default, which may consume all available bandwidth. Set -concurrentupload X (replacing X with desired number of threads) to decrease the consumed bandwidth.
- Ftpserver: (optional) Address or IP address of the Ftp server to read from
- Ftpusername: (optional) Ftp user name
- Ftppassword: (optional) Ftp password
- Command (optional). The default is Upload. Additional allowable values are GenerateMetadata and GenerateToken. Using GenerateMetadata causes UploaderWiz to only generate and upload metadata.
- Noblock: (optional) True or false. If true, then no block uploads. It will not attempt to split the files into blocks to be uploaded and will upload the file as a whole. Blocks are the default (false).
BitTitan Azure storage
If using the BitTitan Azure storage account instead of your own storage account, get the UploaderWiz parameter values as follows:
- Go to the MigrationWiz portal PST BitTitan storage migration project.
- Click on the Upload PST files green bar.
- This will open a left-hand column in the MigrationWiz dashboard, which will look similar to this:
- Copy the command from the MigrationWiz dashboard (which will look similar to above) into the clipboard.
Note: Do not copy the above command. This is just an example. Only copy the command that appears in the MigrationWiz dashboard. This holds the token that is specific to the migration project.
- Now open up notepad. Paste this line into the notepad (from the clipboard).
- Use the obtained UploaderWiz command line from the project to build the command line with the provided values of the accesskey, secretkey, container, and token parameters. These parameters cannot be modified because they point to the BitTitan Azure blob container but any other of the parameter above can be appended to the command line in order to tune UploaderWiz. For example -rootPath [Locaction of your PST files] could be replaced by -autodiscover true if Autodiscover scan is required.
3. Open administrative command prompt console and execute UploaderWiz.
- Open a command prompt.
- From the command prompt window, change the directory to the directory that Uploaderwiz.exe was extracted into (e.g., ).
- Copy the UploaderWiz command line from the notepad file, paste it into the command prompt console, and click Enter.
- The upload will now run and report that status, once upload has completed. It will list the Source file names, total time, and the number of failed transfers (if any).
- Once complete, click Enter to exit.
- If PST discovery mode was enabled, UploaderWiz will discover all PST files and upload them to the Azure storage account selected.
- If the upload gets interrupted, UploaderWiz will attempt to resume the upload from the point of interruption. UploaderWiz will check if the file has changed and if the file has changed, UploaderWiz will restart the upload from the beginning.
- If there are problems with the upload, then here are some resolutions to the most common issues:
- Ensure that you are running the command console as an administrator.
- Check that the UploaderWiz parameters that you enter in the command console are correct, as detailed in green italics above.
- Download again, and extract the latest version of UploaderWiz tool by clicking here.
- Look in the log file (-this will be stored on %temp%\UploaderWiz, the log file name will be UploaderWiz-<computer name>.log) in order to see more details on what the problem is and then perform resolution steps based off what is reported as the cause of the error. If problems persist then please include this log file in any ticket to support.
- Try one of the alternative upload methods, described in the article What are my options for uploading files to Azure storage?
4. Import the PST files uploaded to Azure blob storage into the MigrationWiz project
- To add/discover the uploaded PST files from the Azure blob storage into your MigrationWiz project, follow the instructions in the article How do I import files from Azure into my MigrationWiz project?
An example of running the UploaderWiz in regular mode launched in the end user's computer to upload all PST files within the C:\PST folder and its subfolders, would be as follows:
UploaderWiz -accesskey yourAccount -secretkey yourKey -container yourContainer -type azureblobs -filefilter "*.pst" -rootpath C:\PST.
If the PST files were partially uploaded to Azure, UploaderWiz will continue from where they left off because -force was not set to true.
An example of running the UploaderWiz in PST discovery mode (licensekeys is required) forcing to upload all discovered PST files from scratch, even though the PST files had been partially migrated, would be as follows:
UploaderWiz -accesskey yourAccount -secretkey yourKey -container yourContainer -type azureblobs -autodiscover true -interactive false -filefilter "*.pst"-force true