File Server Home Directories to OneDrive for Business Migration Guide, Using PowerShell


This guide provides the procedures for migrating home directories from File Servers to OneDrive for Business.

We recommend this strategy when migrating a large number of home directories. When migrating a smaller number of home directories, follow the steps in the File Server Home Directories to OneDrive for Business Migration Guide.

When migrating file shares from the file server, follow the migration guide specific to that scenario. Typically, file shares will be migrated to SharePoint Online Site libraries.

Note that OneDrive data may not be accessible for a few days after migration, due to OneDrive's crawling and indexing process. We suggest having your users log in immediately after migration, but warn them that their data may not be available immediately. For this reason, it may be best to complete the migration on a Friday so the indexing can happen over the weekend.

What items are migrated with MigrationWiz?

MigrationWiz is a migration solution (not a synchronization solution) and will NOT propagate updates, deletes, or moves of the items previously migrated in the first migration pass because we do not have “live” monitoring of changes (as with a sync agent) and we cannot handle scenarios such as conflict resolution without user interaction.

MigrationWiz supports the capability to share migration projects across a Workgroup. When the Project Sharing feature is turned on, all Agents besides those who are Inactive can view all migrations projects. For more information, visit Project Sharing in MigrationWiz.

The diagram below provides a high-level overview of the steps involved in migrating a large number of home directories. The key difference for this type of migration scenario is that this requires an Azure subscription, and the use of the BitTitan UploaderWiz utility to upload the home directories to Azure before they can be migrated into the OneDrive for Business accounts using MigrationWiz. It also uses a combination of a PowerShell script and a CSV file, which automates the building of the MigrationWiz projects, with all of the Advanced Options preset. There is also no need to create endpoints in MSPComplete prior to running MigrationWiz, because the PowerShell script automates the creation of the endpoints on the first run, and includes checks for subsequent runs so that it can use the existing endpoints that were created from the first run.

Note: Unfortunately, we no longer support migrations to or from GoDaddy hosted OneDrive.


Endpoint Change Notification

Prepare Azure Environment

  1. Estimate Azure storage costs.
    Note: This step is optional, but it is useful in order to provide the customer with up-front storage costs ahead of time. Read the Estimate Azure Storage costs for migrations article for more information.
  2. Buy an Azure subscription (or use the free one-month trial, and be aware that this option is only viable if you are performing a very small migration). Read the How do I buy an Azure subscription? article for more information.
  3. Create an Azure storage account, and take note of the Storage Account Name and the Primary Access Key: in Azure, from the storage screen, click Manage Access Keys at the bottom of the screen. These need to be entered into the authorizationsettings.csv file under the columns of the same name. We recommend that you create an Azure Storage Account in the same Microsoft data center as the Destination Office 365 tenant.
    Note: There is no need to create any Azure containers for this migration. Separate containers are created on a per-home directory basis. During migration, MigrationWiz will create two separate metadata files (with extensions: -directory.metadata and -files.metadata) which will be added to each container. These are used during migration by MigrationWiz, to build the folder structure in OneDrive for Business and to migrate the permissions. They should not be deleted until after the migration. Read the How do I Create an Azure Storage Account? article for more information.


Prepare machine(s) for PowerShell and UploaderWiz

Note: We recommend that you perform these steps from a domain-joined computer when logged in with local admin rights.

  1. Install BitTitan PowerShell by downloading and installing BitTitan SDK.
    Prerequisites for installing BitTitan PowerShell are detailed in the How do I install the BitTitan SDK? article.
  2. Create the C:\apps\uploaderwiz directory and then download and extract the UploaderWiz utility into that directory.
  3. Create the C:\scripts directory, download the file and extract its contents into that directory.
    Note: The folder name must be a single word, with no spaces or special characters. The files that are extracted into that folder are Log_Functions.ps1, ProjectImport.ps1, RunSubmission.ps1, and authorizationsettings.csv.
  4. Map a network drive to the home directory root folder on the file server.


Prepare the Destination Environment

  1. Set up the Office 365 tenant.
    Note: The personal version of OneDrive that is included with is not supported.
  2. Add users and assign Office 365 licenses. This is required if permissions are being migrated.
  3. Assign an Office 365 license to the Office 365 global admin account being used for migration; often this will already have a license assigned. This is required for MigrationWiz to provision the OneDrive for Business accounts during migration.
  4. Set up the app-based authentication in the Office 365 tenant. For specific instructions, see Sharepoint App-based Authentication.


Upload Files to Azure

Note: These steps are performed from the machine that was prepared with BitTitan PowerShell and UploaderWiz

  1. From Windows Explorer, go to the mapped network drive for the file server. Set the home directory migration batch to read-only access by the user, and inform each user that a migration is occurring and that their home directory is now read-only. This will prevent users from adding any files to their home directory during the migration. Read the How do I restrict users to read-only access to their Home Directories? article for more information.
  2. If migrating home directories in batches, then from Windows Explorer, go to the mapped network drive for the file server. Under the home directory root folder, create a directory named staging_batch.  Copy the batch of home directories that will be migrated, into this staging_batch directory. When running UploaderWiz, this is referred to as -rootpath.
    Note: Make sure that any previous batches are deleted from this staging directory prior to copying new directories into here; otherwise, they will also be included in the upload to Azure.
  3. From a command console, change to the directory that Uploaderwiz was extracted into (e.g., C:\apps\uploaderwiz), and run the following command.
    UploaderWiz -accesskey "xxxxxxxx" -secretkey "xxxxxxxxxxxxxxxxxxxxxxx" -type azureblobs -rootpath "xxxxxxxx" -homedrive true
    • Replace the x's with your own information. Using BitTitan UploaderWiz for File Server Migrations 
    • If there are problems with the upload, for troubleshooting help, refer to the How do I troubleshoot UploaderWiz? article.
    •  If you are performing these steps from a domain-joined computer, a network drive needs to be mapped from the domain-joined computer to the file server, and the rootpath needs to match this drive letter, followed by the directory path, e.g., "x:\staging_batch" (if there are spaces in the path, you need to surround the path with quotes).


MSPComplete Steps

  1. Create the customer. Read the View, Add, and Edit Your Customers article for more information.
  2. Purchase User Migration Bundle licenses. User Migration Bundle licenses allow multiple types of migrations to be performed with a single license. They also allow DeploymentPro to be used to configure Outlook email profiles. Refer to these articles for more information:


Migration Steps

Note: These steps are performed from the machine that was prepared for PowerShell and UploaderWiz

  1. Fill in all columns in the authorizationsettings.csv file for the user home directories that will be migrated in the migration batch.
    • The recommended directory, specified in the Prepare Machine(s) for PowerShell and UploaderWiz section above, was C:\scripts.
    • These are the BitTitan data centers that can be set: Canada, NorthEurope, NorthAmerica, WesternEurope, AsiaPacific, Australia, Japan, SouthAmerica. 
    • Once you have completed the first entry row, copy the entries for AccessKey, SecretKey, ODFBAdmin, ODFBPwd, BitTitanDatacenter and CustomerName into each subsequent row.
  2. Launch Windows PowerShell, and run the following command: Set-ExecutionPolicy Unrestricted
    This allows scripts that are not digitally signed to run in your PowerShell window.
  3. Run the projectimport.ps1 script. This sets up the projects. Upon completion, it will run a verify credentials against every MigrationWiz project that was created by the script.
    • Run the script, using the Windows PowerShell. Change to the directory that you extracted the scripts into, e.g., C:\scripts:> .\projectimport.ps1
    • When prompted for credentials, enter your BitTitan credentials.
    • All projects will be created with a name set to destinationemailaddress_ps. The '_ps' is used by the Full migration pass script (RunSubmission.ps1) so that it only starts migrations for those projects matching this name criterion.
  4. Run the RunSubmission.ps1 script (e.g., c:\scripts:> .\RunSubmission.ps1). This performs a Full migration pass.
    • When prompted for credentials, enter your BitTitan credentials. You can set your BitTitan account credentials within this script (but these could then be seen by others who have access to the script). This will avoid being prompted to enter your BitTitan account credentials.
    • Once the script completes, launch MigrationWiz and enter one of your projects. You can then monitor the progress of the migration.


Post-Migration Steps

  1. Remove access to the Source home directories.
  2. Provide training on OneDrive For Business.
  3. Delete directories from the staging directory; this is the directory that home directories were copied to prior to uploading them to Azure.
    Once all home directory batches have been completed, and all file shares and other data have been migrated, the Source file server can be decommissioned.
  4. Delete all the Azure blob containers that were created during the upload to Azure.
    Note: This will prevent incurring post-migration Azure costs for these containers. Be careful to only delete the containers created by UploaderWiz; these will be names that match the home directories and have a create date from the date of the upload.


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