Google Drive to SharePoint Online Migration Guide

This article will guide you through the steps for migrating from Google Drive to Microsoft SharePoint Online.

First time?

This migration guide contains the necessary steps to perform the actual migration, but there are many steps to preparing for migration. If this is your first time performing a migration, we have created a Migration Planning & Strategy Guide to walk you through planning, set-up, and general migration best practices.

If performing a Google Drive to OneDrive for Business migration, refer to the Google Drive to OneDrive for Business Migration Guide. This is the most common migration scenario for Google Drive migrations.

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.

Limitations

This migration scenario will only migrate the content from the users' Google Drive accounts into the SharePoint document library. It will not migrate the permissions in the Source Google Drive shared documents. Make sure to deselect Document Permissions before submitting your migration pass.

Items and folders in "Shared with Me" will not be migrated. Only items in "My Drive" will be migrated. To migrate "Shared with Me" items, they must be added to "My Drive".

This is a one-to-many migration path. This means that data that belongs to one user will be migrated into a shared document library. This is a rare business case because individual data would then be accessible by multiple people.

The maximum file size for migration through MigrationWiz varies by migration type and environment, but may never exceed 60GB.

 

What is and is not migrated?
Migrated
  • Folders
  • Folders you have shared
  • G Suite native files 
  • Code Files
  • Documents
  • Images
  • Executables
  • Videos
  • Audio Files
  • Templates (files that the template had been applied to are migrated)
  • Creation Date (Creation date gets changed to the "date of migration" date)
  • Scripts/Macros (Scripts are not converted to macros when going to documents)
  • Comments
  • Items/folders in "Shared with Me”. These folders must be added to the user’s “My Drive” and FullCopy Mode must be used in order to migrate these items/folders. 
  • Shortcuts (Migrated in Google Drive to Google Drive scenarios only.)
  • Google Shared Drives (also known as Team Drives)
    • Only when SharePoint is the Destination

Not Migrated

  • Personal / Free Google Drive is not supported
  • Document permissions
  • File/folder shortcuts

Prerequisites

This migration requires an appropriate number of Shared Document Licenses.

The Shared Document license applies to any document migration projects involving SharePoint or Google Shared Drives. This license type migrates up to 50GB of data per license.

This license migrates:

  • Documents

  • Folders

This license does not support the use of downloaded BitTitan software such as DeploymentPro.

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.

​​Licenses are released once payment has been received:

  • If you purchase via credit card, licenses will be available immediately upon payment.
  • If you purchase via wire transfer (100+ licenses), licenses will be available once payment has been received and accepted.
  • We do not accept purchase orders, because of processing overhead.

In both cases, you will be notified by email that payment has been accepted and licenses will be available in your account upon notification.

For more information on licensing, including coupon redemption and other licensing types, see our Licensing FAQ.

Prepare Azure Environment

If using Microsoft-provided Azure storage, you can skip this section.

  1. Estimate Azure storage costs. This step is optional but is useful in providing the customer with upfront storage costs ahead of time.
  2. Buy an Azure subscription, or use the free one-month trial ( this option is only viable if you are performing a very small migration).
  3. Create an Azure storage account. We recommend that you create an Azure Storage Account in the same Microsoft data center as the Destination Office 365 tenant. 
    • Log in to https://manage.windowsazure.com
    • Click Storage
    • Click Manage Access Keys at the bottom of the screen. The access keys need to be entered when creating the MSPComplete Source endpoint. We recommend that you create an Azure Storage Account in the same Microsoft data center as the Destination Office 365 tenant. 
    • Take note of the Storage Account Name and the Primary Access Key as follows:
      • -accesskey – This is the Storage account name for the Blob – example “accountname”
      • -secretkey - This is the access key for the Storage account – example “W1RrDfkPNkfYfdVqizMNJjn5mXchwMP5uYBY8MsMqWTA7EubG911+4fZlki0Gag==”
  4. Create an Azure BLOB container. Take note of the name of the BLOB to be entered in the Bucket Name field in the project Advanced Options.

Prepare the Source

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. Follow the steps below under under OAuth2 Requirements for Google Drive (Own Service Account) to set up your environment for this endpoint.

All accounts being migrated must be in Active status in the tenant. Users that are set to a status of Inactive will not be able to fully migrate and will fail in the project.

OAuth2 Requirements for Google Drive (Own Service Account)

Prerequisites

  • Subscription to Google Cloud Platform.
  • Google Super Administrator account.
  • Ability to set up a service account on the G Suite tenant.
  • A Google 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 the current project name, click Down icon and select the newly created project name from the list.

If you are not able to create a project here, it may be that the ability to create projects has been disabled for your tenant. To check this, navigate to the Google Admin Center and click on Apps > Additional Google Services and select the Google Cloud Platform. Once there, you should see a setting that can be toggled in order to allow users to create projects.

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

  1. 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 number. This is the Client ID number that will be used in a later step.
        • 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.
        • 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.

      Old Google Tenant UI:

      1. Go to the G Suite admin page at google.com.
      2. Click Security.
      3. Click Advanced Settings.
      4. Click Manage API Client Access.

      OR If your account shows the latest UI updates from Google, as shown below:New_Google_Admin_APP_Access_Control.JPG

      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.

 Once these steps are complete:

  1. In the Client ID field, paste the Unique ID copied above.
  2. In the OAuth scopes (comma-delimited) field, paste all scopes listed below:
  3. 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
  4. Click Authorize.

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

Export mailboxes to CSV file(s)

From the Google Admin portal:

  1. Click Users
  2. Click ⁝ (3 vertical dots) 
  3. Download Users
  4. Download All Users
  5. Click OK 
  6. Save

Prepare the Destination Environment

  1. Create a SharePoint administrator or Site Collection administrator account to be used for migration, or use the global admin account for the tenant. Read the Manage administrators for a site collection article from Microsoft for more information.
  2. Create a SharePoint site. Make a note of the site URL where the document libraries will be stored. This will be entered when creating your MSPComplete Destination endpoint.
  3. Before beginning the migration project, create the structure of the document libraries, and also create the actual document libraries on the Destination SharePoint site. Refer to the Training: Introduction to document libraries video from Microsoft for more information.
  4. Set up the app-based authentication in the Office 365 tenant. For specific instructions, see Sharepoint App-based Authentication.

MigrationWiz Steps

Create a Document Project

  1. Log in to MigrationWiz.
  2. Click the Go to My Projects button.
  3. Click the Create Project button.
  4. Select the Document project type. 
  5. Click Next Step.
  6. Enter a Project name and select a Customer.
  7. Click Next Step.
  8. Select endpoints or follow the steps below to create new endpoints. 

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. Endpoint search is case and character specific. For example, Cust0mer 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 Google Drive (Own Service Account). 
  4. Click Select File

  5. Navigate to and select the JSON file that contains the Google Service Account key that was saved during the service account setup process.

  6. Enter the Google super admin account email address. Please note that this admin email should match the end user domain.

  7. Click Add Endpoint. 

To create a new destination endpoint:

  1. Click Endpoints
  2. Click Add Endpoint
  3. Select SharePoint 
  4. The URL to enter is for the site where the document library is located.

    Example: https://domain.sharepoint.com/sites/sitename

  5. Provide the requested information. If entering the Azure Storage Account Name for the destination endpoint, only numbers and lowercase letters can be used. If you enter an upper case letter, your migration will fail.
  6. Click Add Endpoint. 

 

Add Users

Add the user accounts that will be migrated to the project. MigrationWiz allows you to bulk import users into the system. There are several ways to do this. 

Quick Add
This option allows you to add items one at a time. You have to enter an email address, login name, and password for each user if you didn't enter administrative credentials when setting up the project. You only have to provide an email address if you entered administrative credentials when setting up the project.
Bulk Add

MigrationWiz allows you to bulk import mailboxes into the system.

To import one or more mailboxes:

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

The Autodiscover process within MigrationWiz can be used to discover items from the Source environment, so that they can be imported into your projects.

There are few requirements in order for this to work:

  • The Source has to be Exchange 2007 or later, or Office 365, or G Suite. If you are using Autodiscover from G Suite, all G Suite domains must be added to the list of domains in the Endpoint.
  • The endpoint on the Source needs to use admin credentials.
  • The endpoint Administrator account on the source needs to be assigned the appropriate GSuite license in order for MigrationWiz to access Google Drive or Google Shared Drives for the Auto Discovery process.
  • For mailbox migration projects, the admin account that is specified within the Source endpoint needs to have a mailbox associated with it.
  • The admin mailbox must be listed in the public Global Address List (GAL).
  • The migration project type needs to be a Mailbox migration. For the exact steps to be followed during your migration, refer to the relevant Migration Guide. All Migration Guides can be found on the Help Center site.

One additional item to note here is that there is not a way to restrict the IP addresses that the connection will come from.  This means that the steps outlined in our IP Lockdown guide will not apply here.  If your environment requires that any IP addresses be whitelisted, it is recommended that items be added to your project using on of the other available options.

Autodiscover of items will not work while using Modern Authentication

Autodiscovery exposes the following items:

  • For mailbox migration, autodiscovery will list all mailboxes at the Source.

Steps to Run Autodiscover

  1. Navigate to the project you want to import users into.

  2. Ensure that you have created an endpoint for the source project.

  3. Once in the project, on the top navigation bar, click on the Add drop-down, then select Autodiscover Items. This will begin the Autodiscover process.

  4. Once discovered, click on the Import button, to import the items into your MigrationWiz project.

 

When configuring the project endpoint, the site full URL must be used. 

In configuring the line items/adding the target SharePoint document library, only the document library name must be used without path or sites. For example:

  • If the document library is named "Documents" and the URL is listed as "xxxxxx.sharepoint.com/sites/sitename/Documents"
    • Endpoint configuration SharePoint URL: xxxxxx.sharepoint.com/sites/sitename
    • Line item document library name: Documents 
  • If your document library is named "Documents" but the URL says "xxxxxx.sharepoint.com/sites/sitename/Shared%20Documents"
    • Endpoint configuration SharePoint URL: xxxxxx.sharepoint.com/sites/sitename
    • Line item document library name: Shared Documents
  • ‘/' characters are not supported in the destination library name. Attempting to migrate any destination library with a '/' character will result in a migration failure.

 

Add Advanced & Support Options

Under Support/Support Options add:

  • InitializationTimeout=8 - This increases the initialization timeout window to eight hours. This option is especially useful for large migrations.
  • IgnoreConflictingFiles=1 - The project must have this added to the support options of the project to avoid duplicates. The one caveat with this is that if there is more than one file with the same name in the source Google Drive folders (which Google allows but not Microsoft) will be ignored as well.
  • DocumentBrowsingMode=FullCopy - This option migrates items regardless of the owner of the folder. For more details, see the Google Drive Migrations FAQ article.
  • There are no spaces on either side of the "=" sign, and the entries are case-sensitive, so pay special attention to the capital letters in the commands above.

Run Verify Credentials

  1. ​Sign in to your MigrationWiz account​.
  2. Open the Project containing items you wish to validate​.
  3. Select the items you wish to validate.
  4. Click on 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

Important: Deselect permissions before migrating. If permissions are left checked, this will result in errors during your migration, because permissions cannot be migrated for this scenario.

Pre-Stage pass

  1. Select the users you wish to migrate
  2. Click the Start button from the top
  3. Select Pre-Stage Migration
  4. Under the Migration Scheduling section, from the drop-down list, select 90 days ago
  5. Click Start Migration.

Full pass

  1. Select the users
  2. Click the Start button from the top
  3. Select Full Migration
  4. Click Start Migration

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.

Post-Migration 

  • To prevent users from inadvertently logging in and using their Google Drive accounts, decommission the Google Drive user accounts, or change their passwords.
  • Delete all the Azure containers used for this migration. This will prevent incurring post-migration Azure costs for these containers. Be careful to only delete the containers created for this migration.
Was this article helpful?
1 out of 1 found this helpful