UploaderWiz is a BitTitan tool that assists in uploading data to your Azure storage account. UploaderWiz uploads all of the data contained in a specified folder, including the contents of all of its subfolders.
UploaderWiz requires that .NET Framework version 4.6 is installed on the computer running UploaderWiz.
Additional features of UploaderWiz:
- If the upload gets interrupted, UploaderWiz will attempt to resume the upload from the point of interruption. UploaderWiz will check to see if the file has changed; if the file has changed, UploaderWiz will restart the upload from the beginning of that file.
- The UploaderWiz utility must be run from a machine that is connected to the domain, e.g., either on the Local Area Network or connected via VPN, if remote. This is a requirement for the permissions to be captured within the metadata file, without which no permissions will be migrated.
- UploaderWiz allows upload windows to be defined (e.g., from 6 PM to 8 AM), in case bandwidth is 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-owned servers.
- UploaderWiz generates logs that will be stored on %LOCALAPPDATA%\\BitTitan. The log file name will be UploaderWiz-<computer name>.log
- UploaderWiz automatically marks all folders and files as read-only, so that no data is altered.
If this project will be shared and there are security concerns, an SAS token may be used. Follow Microsoft's directions for this process.
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.
Below are the three steps to follow when using UploaderWiz.
Step 1: Download, extract, and deploy the UploaderWiz tool
- Download the BitTitan UploaderWiz tool by clicking the UploaderWiz.zip download.
- Once downloaded, extract the zipped files to a known directory (for example C:\\bittitan).
Important: UploaderWiz requires that the .NET Framework version 4.6.1 or later is installed on the machine to which UploaderWiz is deployed.
Step 2: Authentication
UploaderWiz supports two methods of authentication.
accesskey+ container + secretKey - This is a generic way used in most cases. But since the secretKey is tied to the storage account, UploaderWiz will have access to all content under the storage account. This may cause security concerns.
UploaderWiz.exe -accesskey BTStorage -container MigrationWiz -secretKey xxxxxxxxxxxxx -type azureblobs -rootpath C:\tmp
accesskey+ container + token - This is a more secured method, as the user provides an SAS token to access a designated storage resource. The access rights of UploaderWiz will be limited when accessing user’s storage account.
Important: The token parameter is not the SAS token generated from the Azure portal. This token needs to be created via UploaderWiz in a special mode (GenerateToken mode) by providing the “accesskey+ container + secretKey”.
- Run the following command, replacing instances of XXX with the appropriate paths and tokens. This will start UploaderWiz.exe in GenerateToken mode and an encrypted SAS token will be generated and displayed on the screen (This step should be performed by an admin user who has the secretKey).
UploaderWiz.exe -accesskey BTStorage -container MigrationWiz -secretKey xxxxxxxxxxxxx -command generateToken -type azureblobs
- Copy the generated token string from step 1 and run the following command, replacing instances of XXX with the appropriate paths and tokens:
UploaderWiz.exe -accesskey BTStorage -container MigrationWiz -secretKey ignoredValue -token xxxxxxxxxx(encrypted string from step 1) -type azureblobs -rootpath C:\XXX\tmp
Step 3: Set the UploaderWiz Parameters
Open Notepad and write the required UploaderWiz command, appending the required parameters and any necessary optional parameters.
UploaderWiz -accesskey <YourStorageAccountName> -secretkey <YourPrimaryAccessKey> -container <yourcontainer> -type azureblobs -rootpath "C:\FileServerFolder" -parameter1 valueParameter1 -parameter2 valueParameter2
Where -accesskey, -secretkey, -container, -type, -rootpath are mandatory parameters and -parameter1, and -parameter2 are optional parameters.
When uploading home directories, you don't need to include the container parameter. Instead, include the -homedrive true parameter. This will automatically create containers in Azure, based on the home directory folder names.
The syntax will look like this:
UploaderWiz -accesskey <YourStorageAccountName> -secretkey <YourPrimaryAccessKey>
-type azureblobs -rootpath <root path> -homedrive true
All names for Storage Account and Container must be in lowercase.
- Type: (mandatory) azureblobs
- Accesskey: (mandatory) The Storage Account Name specified in Azure.
- 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).
Important: Enter ignoredvalue when you would rather use a shared access security token with the Token parameter as instructed in the bullet below.
- Token: (recommended) The shared access security token. Use this as an alternative to the the Secretkey parameter. Microsoft provides directions to generate the correct SAS.
- Container: (mandatory) The name of the public blob container on the Azure Storage Account where the folder and files will be uploaded. This is not needed for Home Directory migrations, when using the -homedrive true parameter.
- RootPath: (mandatory) The directory path to where the folders and files of the File Server are stored. It should point to a directory, not to the filename. UploaderWiz will then restrict the scanning for folders and files only in the specified folder and all subfolders (for example, -rootPath "C:\FileServerFolder" will upload all files and subfolders under C:\FileServerFolder).
- Force: (optional) True. Use this parameter to force UploaderWiz to replace previously uploaded files in the Azure container of the same name. Typically done when uploading files that have been updated since they were originally uploaded.
- Noupload: (optional) start time/end time based on local time zone (for example, noupload 6:30-7:15). It defines a time window in 24-hour format during which no data will be uploaded.
- IgnoreNetworkDrives: (optional) Use this parameter to ignore mapped network drives, which cause problems with UploaderWiz when disconnected.
- 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. (for example, My* locates all folders that begin with "My" such as MyFolderA and MyFolderB, but also all its subfolders such as MyFolderA\MySubFolderA, MyFolderAB\MySubFolderC. 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).
- Filefilter (optional) "*.docx" A file search pattern to select files to be included in the upload. 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*.docx locates all files that begin with "m" but have the file name extension .docx, such as mandy.docx and marie.docx).
- ? (question mark) which matches zero or one character in that position (i.e., mar?.docx locates all files that begin with "mar", may or may not have another character and ends with the file name extension .docx, such as mar.pst and mary.docx).
- Filepath (optional) The directory path to where a single file resides followed by its file name. It will be used to upload a single file.
When using this parameter, RootPath, Pathfilter, and Filefilter cannot be used at the same time.
- Threads (optional) It sets an optional number of execution threads.
- 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. Blocks are the default.
- Homedrive (optional) True or false. If true then containers are automatically created in Azure, based on the home directory folder names.
- azurelocation gov
Available options are: gov (government), ger (Germany), and china (China).
Step 4: Open the administrative command prompt console and execute UploaderWiz
Follow these steps to open the administrative command prompt console and execute UploaderWiz:
- Open Command Prompt.
- From the command prompt window, change the directory to the directory that Uploaderwiz.exe was extracted into (for example, c:\bittitan).
- 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 the upload has completed. It will list the Source file names, total time, and number of failed transfers (if any).
- Once complete, click Enter to exit.
- 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, 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 above.
- Download again, and extract the latest version of UploaderWiz tool from here.
- Look in the log file (this will be stored on
%LOCALAPPDATA%\\BitTitan, the logfile name will be
UploaderWiz-<computer name>.log) in order to see more details about what the problem is, and then perform resolution steps based on what is reported as the cause of the error. If problems persist, include this log file in any ticket to Support.