Google Drive to OneDrive Migration Guide (Migrate Versions and Metadata)

This articles outlines the complete task flow for migrating folders and documents from Google Drive to OneDrive for Business, including versions and metadata.

First migration?

We’ve created a guide on scoping, planning, and managing the migration process for your use. If this is your first migration, we recommend reading this guide carefully before continuing.

MigrationWiz

MigrationWiz is a migration tool, not a syncing tool. If changes are made at the source after migration, they will not sync to the destination, nor will changes made at the destination sync to the source. 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. 

We are not able to support migrations with two-factor or multifactor authentication. 

Limitation: Personal site provisioning at destination is not supported. User will need to manually provision the personal site at the destination before starting a migration with this new destination endpoint. To provision your OneDrive site, follow the steps provided by Microsoft.

The maximum individual file size that MigrationWiz supports is 60GB. 

Due to limitations on connections allowed by GoDaddy, we do not support migrating to or from GoDaddy using this migration type.

Which Items Are and Are Not Migrated
Limitation: Due to a limitation of Google API, MigrationWiz will not export and migrate any Google Files belonging to a suspended user. The migration will not fail, but the skipped items will be shown as part of the error.
Migrated
  • Files
  • Folders
  • Permissions
  • Versions (up to 25)
  • Google Forms - migrated as a zip file containing the form as html and the responses as a csv. Versions are not supported.
  • Metadata

    • File/Folder name

    • Modified date (based on the modified date of latest version migrated)

    • Modified by (based on the modified date of latest version migrated)

    • Created date (based on the created date of latest version migrated)

    • Description is migrated to ‘Title' column at destination. Migrated value is limited to the existing character limit of the 'Title’ field.

    • ‘Creator’ metadata is migrated but in some cases this value may not be accurate. This is a current limitation without a workaround.

    • Shortcuts are migrated as a .URL file to the destination document library - if the target file exists within My Drive of the migrated user. Shortcuts are to be migrated as a subsequent migration step, after migrating all relevant documents & permissions.

    • Migrations of over 60GB are now supported, but this must be set up in Advanced Options. These settings will prevent timeout errors when an import takes more than 10 minutes to complete.

      • Set LargeFileMigrations=1

      • Set LargeFileMigrationsTimeout=7200000

        • 7200000 value is an example; time is measured in milliseconds

Not Migrated

  • For some Google proprietary format files (e.g. Docs, Sheets, Slides), Google allows you provide a custom name for a version of the file. Such version names are not migrated.GD1.png

  • Minor revisions available for Google proprietary format files are not migrated.

  • Embedded video/hyperlinks in Google docs, sheets, or slides may not be migrated accurately when these Google proprietary files are converted to Microsoft 365 format.

  • .TMP files are not supported.

  • Shortcuts will not be migrated if target file doesn’t exist at the destination.

  • Links giving access/Link sharing

Support for Google Proprietary file types

 

File Format in Google Drive (My Drive)

Remarks

1

Documents

Migrated as MS Word document.

2

Spreadsheets

Migrated as MS Excel.

3

Presentations

Migrated as MS PowerPoint.

4

Drawings

Migrated as JPEG. (Limitation: Versions are downloaded but all of them has same content)

5

Apps Scripts

Migrated as JSON.

6

Jam board

Migrated as PDF. (Limitation: Versions not supported)

7

Forms

Not migrated.

8

Site

Not migrated.

OneDrive migrations

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.

If you are migrating to an Microsoft 365 Small Business Tenant account, the processes will be very similar. However, you will not be able to use admin credentials for your Destination endpoint and will instead be using end user credentials. 

Due to versioning, storage usage in OneDrive may be increased when migrating with permissions.

Prepare the Source

There are two options for source setup.

The Google Drive (Own Service Account) connector launched in 2020 and requires the set up of a Google Service account. This significantly reduces the likelihood of the migration being throttled. This is the option we recommend for all Google Drive migrations.

The original Google Drive connector uses a BitTitan Google service account. Since the service account is shared, the likelihood of throttling is higher compared to the new connector. This option may be chosen if you do not wish to set up your own account. 

Google Drive (Own Service Account) Google Drive Connector

Prerequisites

  • Subscription to Google Cloud Platform.
  • Google Super Administrator account.
  • Ability to set up a service account on the G Suite tenant.
  • Service account must be set up before the MigrationWiz project is created.

Create a Google Project

  1. Go to the Google Cloud Platform (GCP) Console and sign in as a super administrator. Choose one of the options below:
    • If you haven't used the Google Cloud Platform Console before, agree to the Terms of Service and click Create Project.
    • If you have used Google Cloud Platform Console before, at the top of the screen next to your most recent project name, click Down to open your projects list. Then, click New Project.
  2. Enter a project name and click Create.
  3. When the new project creation completes, at the top of the screen next to current project name, click Down icon and select the newly created project name from the list.

Enable APIs for Service Account

  1. From the Google Cloud Platform Console, click Menu > APIs & Services > Library.
  2. Enable the following APIs by selecting the specific API and clicking Enable.
    Repeat for each API listed below:
    • Google Drive API
    • Admin SDK

Make sure that the respective services are enabled within the Google tenant. You can control services for your users using the instructions on this page: Control who can access G Suite and Google Services.

Create Customer Tenant Service Account

  1. From the Google Cloud Platform Console, click Menu > IAM & Admin > Service accounts.
  2. Click + Create Service Account at the top middle of the screen and enter a name.
  3. Click Create.
  4. Assign the role of Owner to the new Service Account by selecting Owner from the Role drop down menu.
  5. Click Continue to move to the next step, then click the Done 
  6. You will now be returned to the "Service Accounts" page. 
  7. On ‘Service accounts' page, click vertical ellipsis under 'Actions’ column for the service account created above.
  8. Click Create key.
    1. Make sure that JSON is selected as "Key Type."
  9. Click Create.
  10. Click Close.

Download the key as a JSON file and make a note of the name and location of the file. This JSON file will be used when setting up the migration endpoint in the migration project.

NOTE

The JSON file must contain information in the following fields: “type”, “private key”, and “client email”. If these mandatory fields are empty the file upload during endpoint creation will fail.

Setting the Scopes for the Migration

From the Google Cloud Platform Console:

  1. Click Menu.
  2. Click IAM & Admin.
  3. Click Service Accounts.
  4. Find the service account that was set up in Step 3: Create Customer Tenant Account.
  5. Find and copy the service accounts Unique ID  This is the Client ID number that will be used in a later step.
    1. This field often needs to be added to the view. Click on the Column display options button and add a checkmark to Unique ID, then click OK.
    2. This Client ID should be considered similar to Administrator account passwords and handled securely.
  6. You will now have one of two options, depending on if the Google UI has been updated in your tenant. 
    1. Classic Google UI 
      1. Go to the G Suite admin page at google.com.
      2. Click Security.
      3. Click API Controls.
      4. Under 'Domain wide Delegation' click Manage domain-wide delegation.
    2. New Google UI
      1. Go to the G Suite admin page at google.com.
      2. Click Security.
      3. Click Advanced Settings.
      4. Under ‘Domain-wide delegation’, click Manage domain-wide delegation.
      5. On the Manage domain-wide delegation page, click Add new.
    3. Once these steps are complete:
    4. In the Client ID field, paste the Unique ID copied above.
    5. In the OAuth scopes (comma-delimited) field, paste all scopes listed below:
      1. For source endpoint:
        https://www.googleapis.com/auth/admin.directory.group.readonly, https://www.googleapis.com/auth/admin.directory.user.readonly, https://www.googleapis.com/auth/drive.readonly
        Click Authorize.

You should now see your specific Unique ID and the associate scopes listed.

Preparing the Azure Environment

Microsoft-Provided Azure storage

We recommend using Microsoft-provided Azure storage for this migration. Refer to Microsoft documentation for more details. If you choose this option, skip to Prepare the Destination Environment.

Own Azure storage

If you plan to use your own Azure storage, refer to the following steps to prepare your Azure environment. We recommend that you create your Azure storage account in the same Microsoft data center as the destination Microsoft 365 tenant. You do not need to create any Azure containers for this migration.

  1. Estimate Azure storage costs. This step is optional but is useful in order to provide the customer with up-front storage costs ahead of time. 
  2. Buy an Azure subscription

Subscription vs Free Trial

You have the option to use the free one-month trial, but be aware that this option is only viable if you are performing a very small migration.

Create an Azure storage account

You will need to set up a STORAGE (General Purpose v2) account rather than a storage blob.

  • 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 MigrationWiz migration project when specifying the destination settings. 

To create the Azure storage account:

  1. Visit the Azure portal.
    1. Click New.
    2. Select Storage.
    3. Select Storage account.
    4. Enter a name for your storage account.
    5. Choose Resource manager for the Deployment model.
    6. Choose STORAGE (General Purpose v2).
    7. Record the storage account name (-accesskey, example: “accountname”) and primary access key (-secretkey, example: “W1RrDfkPNkfYfdVqizMNJjn5mXchwMP5uYBY8MsMqWTA7EubG911+4fZlki0Gag==”)
    8. In the Replication field, select Locally Redundant Storage (LRS).
    9. Select the subscription in which you want to create the new storage account.
    10. Specify a new resource group or select an existing resource group.
    11. Select the geographic location for your storage account.
    12. Click Create to create the storage account.

Now the storage account appears in the storage list.

Preparing the Destination

Choosing the right destination type

When migrating from Google Drive to OneDrive, there are three destination options for you to choose from. These will be presented during setup. 

Speedster_1.png

Destination Endpoint

Remarks

OneDrive for Business (365 User) - Documents, permissions and Versions

  1. This is the recommended version for all customers whose destination tenant is not in restricted Microsoft 365 cloud
  2. The Personal sites for every user must be provisioned before the migration regardless of the authentication mode used.
  3. Application permissions are required and MigrationWiz-SharePoint-FullControl app should be used

OneDrive for Business (365 User) - Documents, permissions

  1. This option is similar to the first option above, however this option does not migrate versions
  2. The Personal sites for every user must be provisioned before the migration if Application permission authentication mode is used
  3. With this option, MigrationWiz will attempt to provision the sites if Delegate permission authentication mode is used

OneDrive for Business (GCC or China migrations) - Documents, permissions

  1. This endpoint is meant to be used only if your destination tenant is in the Government Community Cloud or China.

Administrator account vs. global admin account

There are two options for how to manage and run the migration: create an administrator account in Microsoft 365 to be used for migration, or use the global admin account for the tenant. Refer to the sections related to App-based Authentication below to setup the users.

The admin account must have a full license assigned to it in order to be able to provision OneDrive for Business profiles for each user during the migration process.

Permissions Error

If you encounter the error "Personal Site is not instantiated = PermissionsUserNotLicensed", this means that the OneDrive collection for a user does not exist and the administrator account used for the migration does not have a full license assigned. To resolve this issue, assign a license to the administrator account, and resubmit the migration.

Create an administrator account

The easiest approach to follow is to use the global administrator account that was set up at the time of tenant creation. However, if you do not wish to use this global admin account during migration, then a new user account can be created instead. This new account will then need to have a license assigned that includes OneDrive for Business and be granted either Global Administrator permissions or SharePoint Administrator privileges.

Administrator Accounts

We strongly recommend that you use an administrator account that isn’t one of the users being migrated, as it can cause issues with missing shared permissions.

Process:

  1. Create a user in Microsoft 365 and assign a license that includes OneDrive for Business. For step by step instructions, see the Microsoft article Add users individually or in bulk to Office 365.
  2. Grant the new user Global Administrator permissions or SharePoint Administrator rights in Microsoft 365.
  3. Ensure that the administrator account is set to use Basic authentication rather than Multi-Factor authentication.

After you perform these steps, the specified user will be visible in the Microsoft 365 administrator center. Full provisioning of the user account can take up to 24 hours, so we suggest performing this setup early.

Using app-based authentication

When setting up the destination there are two authentication options to choose from. 

  • Delegated admin rights or
  • App-based authentication is the preferred method as it is more secure and avoids throttling

The easiest approach to follow is to use the global administrator account that was set up at the time of tenant creation. However, if you do not wish to use this global admin account during migration, then a new user account can be created instead. This new account will then need to have a license assigned that includes OneDrive for Business and be granted either Global Administrator permissions or SharePoint Administrator privileges.

Process:

  1. Create a user in Microsoft 365 and assign a license that includes OneDrive for Business. For step by step instructions, see the Microsoft article Add users individually or in bulk to Office 365.
  2. Grant the new user Global Administrator permissions or SharePoint Administrator rights in Microsoft 365.
  3. Ensure that the administrator account is set to use Basic authentication rather than Multi-Factor authentication.

After you perform these steps, the specified user will be visible in the Microsoft 365 administrator center. Full provisioning of the user account can take up to 24 hours.

Using Application permissions, it is a prerequisite that the user OneDrive to be pre-provisioned at Destination before Migration can begin. 

If you elected to use app-based authentication, perform the following steps:

Add the app to the tenant

  1. Ensure you are signed in as a Global Admin.
  2. Go to MigrationWiz-SharePoint-FullControl and consent to the app access when prompted.
  3. Create new Security Group named “MigrationWiz” on the Microsoft 365 Admin Portal.
  4. Create new user.
  5. Add new user to previously created security group as a member.
  6. Create MigrationWiz project.
  7. When creating the endpoints, enter the new user credentials.

MSPComplete Steps

Licensing

Licenses are required to run a migration project in MigrationWiz. To obtain license pricing information, or to purchase licenses, click the Purchase button in the top of your MSPComplete or MigrationWiz dashboard.

Payment Options

  • When purchasing with a credit card, payment is immediately processed during checkout. If successful, licenses are granted to your account instantly.
  • Wire transfers are available for purchases of 100 or more licenses. If you are purchasing at least 100 licenses, you will be presented an option to purchase via wire transfer during checkout. A wire transfer checkout will generate an invoice with wiring information for your accounts payable department and bank. Once the funds are received by our system, the licenses are granted to your account immediately. 

For this project type it is recommended to use our User Migration Bundle licenses. 

  • User Migration Bundle Licenses have unlimited data available per license.
  • User Migration Bundle Licenses are applied to the customer's users and expire 12 months after their purchase date. 
  • Document, Personal Archive, and DeploymentPro projects are all included when using User Migration Bundle Licenses.
  • This license type must be applied manually.

To purchase licenses:

  1. Sign in to your BitTitan account. 
  2. In the top navigation bar, click Purchase.
  3. Click the Select button and choose the license type you need.
  4. Enter the number of licenses you want to purchase. Click Buy Now.
  5. Enter a Billing address if applicable.
  6. Click Next.
  7. Review the Order Summary and enter a payment method.
  8. Click Place Your Order.

These licenses enable you to perform multiple migrations of documents and in-place archives.

User Migration Bundle Licenses have unlimited data available per license. User Migration Bundle Licenses are applied to the customer's users, for whom you'll be performing migrations, and are valid for one year.

Read the Licensing FAQ article for more information.

MigrationWiz Steps

Create a Document Migration project

  1. Click the Go to My Projects.
  2. Click the Create Project.
  3. Create a Document project.
  4. Click Next Step.
  5. Enter a Project name and select a Customer.
  6. Click Next Step.

Endpoints

Endpoints are now created through MigrationWiz, rather than through MSPComplete. The steps for this section outline how to create the endpoints in MigrationWiz.

If you are selecting an existing endpoint, keep in mind that only ten endpoints will show in the drop-down. If you have more than ten, you may need to search for them. Endpoint search is case and character specific. For example, "Customer" will not show up if the search is "customer". We recommend keeping a list of endpoints you have created, along with any unique spellings or capitalization you may have used.

You may either use existing endpoints, or create new ones. 

To create a new source endpoint:

  1. Click Endpoints.
  2. Click Add Endpoint.
  3. Select the Google Drive (Own Service Account) or Google Drive endpoint, based on how the source was set up:
    1. Google Drive endpoint: Enter the super administrator email address and domain name in the appropriate fields.
    2. Google Drive (Own Service Account) endpoint: Select the JSON file created in the steps above and enter the Super Admin username (email address) for the source.
  4. Select the JSON file created in the steps above and enter the Super Admin username and password for the source.
  5. Click Add.

To create a new destination endpoint:

  1. Click Endpoints
  2. Click Add Endpoint
  3. Select OneDrive for Business. 
  4. Select OneDrive for Business (Microsoft 365 User) - Documents, Permissions and Versions
  5. Microsoft 365 Username / Password: Enter email for the user authorized to run the migration for the destination tenant. 
  6. Enter the Azure Storage Account Name and Azure Access Key or select Microsoft provided Azure Storage.
  7. Click Add Endpoint. 

Speedster_2.png

Add users

Add the user accounts that will be migrated to the project. MigrationWiz allows you to bulk import users into the system. (Note: For OneDrive endpoints, the email address must match the current User Principal Name of the user in the tenant)

Use the Bulk Add option for large migrations, or the Quick Add for smaller migrations. 

To import one or more users:

  1. Sign in to your MigrationWiz account.
  2. Select the Project for which you want to perform the bulk import.
  3. Click on Add.
  4. Click on Quick Add or Bulk Add.
  5. Follow the instructions on the page.

Advanced Options

Under the Support tab

  • DocumentBrowsingMode=Moderate

    • See Google Drive Migration FAQ for more details

    • Scans “My Drive” for the source address in your migration project.

    • Migrates only folders that are owned by that account, but migrates all files in those folders regardless of ownership.

    • Unowned folders with sub-folders that are owned by this account are mimicked to maintain functional integrity post migration. No files in those unowned folders are migrated.

    • Sharing permissions for folders and documents are also migrated.

    • No files within folders owned by another user are migrated.

  • InvalidCharacterReplacementString=a (where 'a' is the string used to replace unsupported characters in file names)
    • SharePoint Online doesn’t allow some characters to be used as file names. The advanced option attempts to replaces instances of unsupported characters in file names with the specified string provided with the advanced option. (e.g. a)
    • Please refer to Microsoft's documentation for unsupported characters
  • InitializationTimeout=8 This increases the initialization timeout window to eight hours. This value is in hours, up to a maximum of 100 hours. Values above 100 are in milliseconds. This is useful for large migrations. For example:​
    • InitializationTimeout=2 will increase the timeout to 2 hours.
    • InitializationTimeout=21600000 will increase the timeout to 6 hours.
  • RenameConflictingFiles=1
    • OneDrive doesn’t allow files with duplicate names in the same folder. If your shared drive has multiple files with same name in a folder, then use this advanced option to handle such conflicting files.
    • Please note this advanced option is not applicable for duplicate folder names. If your source has duplicate folder names within same parent folder, then the contents of both duplicate folders will be migrated to a single folder at the destination.
  • ShrinkFoldersMaxLength=200 (where 200 is the maximum path length that can be tolerated before shrinking)
    • When migrating to SharePoint Online or OneDrive, the path length limitation is a common issue. Refer to the SharePoint & OneDrive FAQ to understand how this advanced option works.
    • Please note that, if the folder path is too long, even the truncated path using the advanced option may not be short enough to reach the SharePoint path length limit - in such case an error will be logged and the associated item will not be migrated. In this case, our recommendation would be to reduce the number of nested folders at the source to shorten the path.
  • UserMapping="user1@source-domain.com->user5@destination-domain.com"
    • Use the UserMapping advanced option when you want to customize the permission mapping for user or group.
    • Please note that the destination user/group (user5@destination-domain.com) must have been commissioned and be available at the destination document library before migration.
  • MapPermissionEmailByPairsInProject=1
    • When this advanced option is used, MigrationWiz will use the email address (source, destination) set in line items to map permission.
    • Example below: In this case source permissions from user1@source-domain.com will be migrated to user5@destination-domain.com at destination.

Speedster_3.png

    • Once set, this advanced option is applied to all line items in the same project
    • If you have split all the Google Drive accounts across different MigrationWiz project, use the Support Option MapPermissionEmailByPairsInCustomer=1 instead to use the mapping of all users across all projects.

  • OverwriteDestinationFilePermissionsAndMetadata=1 (only valid if permissions checkbox is selected and a second or delta pass is being executed)
    • When source files have updated permissions (user/group permissions, access levels), destination files also will be updated to reflect the latest changes from the source accurately
    • When source file metadata has updated, destination files will also be updated to reflect the latest changes from the source accurately (description (to Title), last modified by, last modified timestamp, owner, creator, created by)
    • When a source file is renamed, a new file will be created in destination with new name with updated metadata (description (to Title), last modified by, last modified timestamp, owner, creator, created by)
    • The best practice for leveraging this advanced option would be to utilize it during the final pass. Utilizing it for every subsequent pass will slow the migration process.

    • Exceptions to the above behavior when the destination file has been modified:
      • When the destination file name has been modified by user - then the file will not be migrated.
      • When the destination file title has been modified by user - then the description changes to the title from the source will not be migrated

Under the Filtering tab

  • Google file extension for filtering: As Google proprietary files do not contain a file extension (.doc, .jpg, etc.), MigrationWiz will recognize the following terms for the proprietary Google file types. The list of terms shown below should be used when the Advanced Option > Filter > By File Extension is used for any Google file type.

Google file types

Term to use as google file extension

Google Docs

document

Google Drawing

drawing

Google Forms

form

Google My Maps

map

Google Slides

presentation

Google Apps Scripts

script

Google Sites

site

Google Sheets

spreadsheet

Google Jamboard

jam

f49440d8-4a85-48c1-86a8-2222e1190051.png

Under the Source/Destination tab

  • Set the number of versions to be migrated per project requirement:
    • The minimum number of versions to migrate is 1, the maximum number is 25.
    • Default selection for the number of versions is 1. Please update this value as per your requirements.
    • Known Limitation - Google Drawing and Google Slide will have same recent version content across all the migrated versions.
    • Speedster_4.png
  • Multi-pass behavior: For information on how multi-pass behavior works in OneDrive and SharePoint migrations, see Versions & Metadata Migration for SharePoint & OneDrive.
  • Notifications
    • Send successful migration and notification to: Source email address (if users are still using G Suite Gmail) or Destination email address (if users are already using Microsoft 365).
    • Customize notification email: Checkmark the Customize "successful migration" email. Add your own customization text and company name to this email.
    • Notifications are not mandatory for a successful migration. Notifications should only be set up before the final pass as a courtesy to the users impacted by the final migration. If performing a single Full pass migration, set this notification up now. If you are following a Pre-Stage migration strategy, only set this up prior to the final Full (Delta) pass.

Run Verify Credentials

  1. ​Sign in to your MigrationWiz account​.
  2. Open the Project containing the items you wish to validate​.
  3. Select the items you wish to validate.
  4. Click the Start button in your dashboard.
  5. Select Verify Credentials from the drop-down list.

Once complete, the results of the verification will be shown in the Status section.​ 

Notify Users

Notify users that a migration is occurring. Send email to all users telling them the time and date of the migration.

Run migration

Perform a Full Migration

  1. Open the project containing the items you wish to migrate.
  2. Select the line items to migrate.
  3. Click on the Start button in your dashboard.
  4. Select Full Migration from the drop-down list.
  5. Ensure that the Documents and Permissions checkboxes are selected.
  6. Click Start Migration.
  7. Once complete, the results of the migration will be shown in the Status section.

Speedster_65.png

Migrating Shortcuts:

  1. To migrate shortcuts to the destination (as a .url file type), run another pass following the full migration steps above, this time with ‘Step 2’ selected.
  2. Step 2 should be run only after all relevant documents and permissions have been migrated. Please note Step 2 is not mandatory. This is should be run only if you wish to migrate shortcuts to the destination (as .url file type).
  • Folder Shortcuts may not be migrated if target folder name has been truncated using advanced option ShrinkFoldersMaxLength.
  • Shortcut files when migrated to destination as .URL file, will not retain direct permissions applied to target files at the source.
  • Shortcuts referring to target files with names containing some special characters (e.g. “#” or “%”) when migrated to destination may not open the target file correctly.

Run Retry Errors

Look through the user list and click any red "failed migration" errors. Review the information and act accordingly.

If problems persist, contact Support.

Request Statistics

Click the pie chart icon in the MigrationWiz dashboard to receive an email containing all the project migration statistics.

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