This article will guide you through the steps for migrating one Google Shared Drives instance to a different Google Shared Drives instance. This migration scenario uses the Shared Document License type. Several additional tools and resources will also be helpful for this process. These are linked throughout the migration guide.
First 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.
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), but we cannot handle scenarios such as conflict resolution without user interaction.
MigrationWiz supports sharing migration projects across a Workgroup. When the Project Sharing feature is turned on, all Agents, besides those who are Inactive, can view all migration projects.
Prerequisites
It is important to highlight the following prerequisites for a smooth migration project.
Licenses
This migration scenario uses the Shared Document License type.
- One license per line item in a project (e.g., per Google Shared Drive to SharePoint Online document library migration).
- Data limit: 50 GB per license.
Purchase licenses by following the steps below.
- Sign in to your BitTitan account.
- In the top navigation bar, click Purchase.
- Click the Select button and choose the license type you need.
- Enter the number of licenses you want to purchase. Click Buy Now.
- Enter a Billing address if applicable.
- Click Next.
- Review the Order Summary and enter a payment method.
- Click Place Your Order.
Licenses are released once payment has been received:
- Licenses are available immediately upon payment if you purchase via credit card.
- If you purchase via wire transfer (100+ licenses), the licenses will be available once payment is 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 are available in your account upon notification.
For more information on licensing, including coupon redemption and other licensing types, see our Licensing FAQ.
Limitations
Consider the following limitations when performing this type of migration.
- We are not able to support migrations with two-factor or multifactor authentication.
- The maximum file size for migration through MigrationWiz varies by migration type and environment, but may never exceed 60GB.
Shared Drives and Restricted Files
For the source shared drive to be migrated, it must have at least one active member with a minimum role higher than the Viewer/Commenter (either a direct user member or as part of a group).
For restricted files to be migrated, it is recommended to have a member of the shared drive with the role of Manager.
Folder Names with Emoji Characters
Folders with emojis in the name are migrated to the destination, however, the emojis will not be retained at the destination. These line items will also fail to verify credentials. We recommend renaming shared drives without their emojis.
Direct Permissions & Shared Drive Membership Permissions
MigrationWiz will migrate the Shared Drive membership permissions to the destination shared drive. These membership permissions apply to all files and folders within the shared drive at the destination.
Direct permissions associated with files & folders are also migrated to the destination.
Modified Dates for Google Proprietary Files
We have seen an intermittent issue that may cause modified dates of Google proprietary files to not be updated when new versions are migrated in multi-pass scenarios. There is no fix for this issue at this time.
Drive Membership not Migrated with Folder Filtering
When folder filtering is used to migrate only specific folders from the source shared drive to the destination, Drive membership permissions are not migrated to the destination.
Invalid Shortcuts When Target Files are Updated
After completing a full migration for documents/permissions and shortcuts, if any further changes to the source files are migrated by running another migration pass, then the destination files are overwritten and updated with the latest versions (where applicable).
- In such scenarios, the destination file ID gets updated and the previously migrated shortcuts (concerning the original target file ID) no longer remain valid.
- We recommend that you run shortcut migration only after completing all required migration runs for documents/permissions to avoid this issue.
Migrated Items
Some item types are not migrated. We are constantly working to create a better migration experience for you, so these items may change.
- Files
- Folders
- Permissions
- Versions (up to 25)
- Metadata
- File/Folder name
- Modified date time
- Created date time
- Description
- Shortcuts are migrated if the target file exists within the same shared drive and if the target file has been successfully migrated to the destination.
- Shortcuts are to be migrated as a subsequent migration step, after migrating all relevant documents & permissions.
- Shared Drive settings are migrated with the advanced option MigrateSharedDriveSettings=1
- Google Sites, Maps, Forms, Drawings, Jam board, and Apps Script files are not migrated.
- For some Google proprietary format files (e.g. Docs, Sheets, Slides), Google allows you to provide a custom name for a version of the file. Such version names are not migrated.
- Minor revisions are available for Google proprietary format files that have not been migrated.
- Shortcuts will not be migrated if the target file doesn’t exist at the destination or if the target file is not located within the same shared drive.
- Metadata limitations:
- Creator and Modified by metadata are not migrated. The impersonated user for the destination will be reflected as the creator and last modifier.
- Timestamps for the versions of Google proprietary files are not migrated.
- Link sharing / Tenant level sharing permissions are not migrated.
-
MigrationWiz project line item setup currently doesn’t support shared drive names with emojis (source or destination). Such shared drives, even if they are imported through our Autodiscover feature will not reflect the emojis on the line item. Such line items will fail migration in verifying credentials.
-
We recommend renaming such shared drives (removing emojis) before setting up line items in the MigrationWiz project.
-
Source |
Destination |
Manager |
Manager |
Content Manager |
Content Manager |
Contributor |
Contributor |
Editor |
Editor |
Commenter |
Commenter |
Viewer |
Viewer |
Prepare the Source Environment
Set up the Google service account and API scopes for Source
Step 1: Create a Google Project
- Go to the Google Cloud Platform (GCP) Console and sign in as a super administrator (Source tenant). 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.
- Enter a project name and click Create.
- At the top of the screen next to the current project name, click the Down icon and select the newly created project name from the list.
If you cannot create a project, this feature might be disabled for your tenant. To verify this, follow these steps:
- Go to the Google Admin Center.
- Click on Apps > Additional Google Services.
- Select Google Cloud Platform.
In the Google Cloud Platform settings, you will find an option that can be toggled to enable users to create projects. Make sure this setting is turned on to restore the ability to create projects.
Step 2: Enable APIs for the Service Account
- From the Google Cloud Platform Console, click Menu > APIs & Services > Library.
- Enable the following APIs by selecting the specific API and clicking Enable.
Repeat for each API listed below:- Google Drive API
- Admin SDK
Step 3: Create the Customer Tenant Service Account
- Navigate to Menu () > IAM & Admin > Service accounts from the Google Cloud Platform Console.
- Click + Create Service Account and enter a name.
- Assign the role of Owner to the new Service Account by selecting Owner from the Role dropdown menu.
- Click Continue to move to the next step, then click Done.
- On the ‘Service accounts' page, click the vertical ellipsis “⋮” under the 'Actions’ column for the service account created above, and click on Manage Keys.
- Click +Add Key and Create New key.
- Make sure that JSON is selected and click Create.
- Make sure that you 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 source endpoint in the migration project.
- 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 the endpoint creation process will fail.
Step 4: Find your Unique ID
From the Google Cloud Platform Console:
- Navigate to Menu > IAM & Admin > Service accounts.
- Find the service account that was set up previously.
- Find the Unique ID field for that service account by clicking the Column Display Options “|||” button in the upper right corner above Actions.
- Select the Unique ID checkbox.
- Click Ok.
- Copy this unique ID number.
- This Client ID number will be used during the migration process.
- This Client ID should be considered as confidential as Administrator account passwords and handled securely.
Step 5: Setting the Scopes for the Migration
- Log in to the Source G Suite admin page at admin.google.com
- In the admin console, navigate to Security > Access and Data Controls > API Controls > Manage domain-wide delegation.
- Click Add new.
- In the Client Name field, enter the Service Account Unique ID.
- For OAuth scopes, enter the scopes listed below:
https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/admin.directory.group.readonly https://www.googleapis.com/auth/admin.directory.user.readonly https://www.googleapis.com/auth/admin.directory.domain.readonly
- Click Authorize.
Prepare Destination Environment
Destination Shared Drive Membership Permission Requirements
- MigrationWiz expects destination shared drive to be available with at least 1 active member from the destination tenant with a Manager role. Without this migration will not succeed.
- If your destination doesn’t have an active member with a manager role, you may consider using the advanced option SetDestinationAdminAsSharedDriveManager=1.
- When this advanced option is used, MigrationWiz will use the admin ID from the destination endpoint and set it as a manager member for the destination shared drive.
- Set up the Google service account and API scopes for Destination.
Step 1: Create a Google Project
- Go to the Google Cloud Platform (GCP) Console and sign in as a super administrator (Destination tenant). 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.
- Enter a project name and click Create.
If you cannot create a project, this feature might be disabled for your tenant. To verify this, follow these steps:
- Go to the Google Admin Center.
- Click on Apps > Additional Google Services.
- Select Google Cloud Platform.
In the Google Cloud Platform settings, you will find an option that can be toggled to enable users to create projects. Make sure this setting is turned on to restore the ability to create projects.
Step 2: Enable APIs for the Service Account
- Click Menu > APIs & Services > Library From the Google Cloud Platform Console
- Enable the following APIs by selecting the specific API and clicking Enable.
Repeat for each API listed below:- Google Drive API
- Admin SDK
Step 3: Create the Customer Tenant Service Account
From the Google Cloud Platform Console
- Navigate to Menu () > IAM & Admin > Service accounts from the Google Cloud Platform Console.
- Click + Create Service Account and enter a name.
- Assign the role of Owner to the new Service Account by selecting Owner from the Role dropdown menu.
- Click Continue to move to the next step, then click Done.
- On the ‘Service accounts' page, click the vertical ellipsis “⋮” under the 'Actions’ column for the service account created above, and click on Manage Keys.
- Click +Add Key and Create New key.
- Make sure that JSON is selected and click Create.
- Make sure that you 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 source endpoint in the migration project.
- 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 the endpoint creation process will fail.
Step 4: Find your Unique ID
From the Google Cloud Platform Console:
- Navigate to Menu > IAM & Admin > Service accounts.
- Find the service account that was set up previously.
- Find the Unique ID field for that service account by clicking the Column Display Options “|||” button in the upper right corner above Actions.
- Select the Unique ID checkbox.
- Click Ok.
- Copy this unique ID number.
- This Client ID number will be used during the migration process.
- This Client ID should be considered as confidential as Administrator account passwords and handled securely.
Step 5: Setting the Scopes for the Migration
- Log in to the Destination G Suite admin page at admin.google.com
- Click on Security > Access and Data Controls > API Controls.
- On the API Controls page, locate the section Domain-wide delegation.
- Click Manage domain-wide delegation.
- Click Add new.
- In the Client Name field, enter the Service Account Unique ID.
- For OAuth scopes, enter the scopes listed below:
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/admin.directory.group.readonly
https://www.googleapis.com/auth/admin.directory.user.readonly
https://www.googleapis.com/auth/admin.directory.domain.readonly - Click Authorize.
MigrationWiz Steps
Set up a Document Migration Project
- Sign in to your MigrationWiz account.
- Click Go To My Projects.
- Click Create Project.
- Click on Document Project to create a new project.
- Click Next Step.
- Enter a project name and select a Customer.
- Click Next Step.
- Select or create your source and dest endpoint from the endpoint dropdown menu.
- Click Save and Go to Summary.
- Click Save Project.
Endpoints
The steps for this section outline how to create the endpoints in MigrationWiz. If you select an existing endpoint, remember 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.
Create your source endpoint by following the next steps:
- Click New.
- Type any name you want for the endpoint.
- Select “Google Shared Drives” from the source endpoint type dropdown list.
- Select the JSON file created for the source service account.
- Enter the email for the super administrator for the source tenant.
- Click Add.
- Click Next Step.
Create your destination endpoint by following the next steps:
- Click New.
- Type any name you want for the endpoint.
- Select “Google Shared Drives” from the source endpoint type dropdown list.
- Select the JSON file created for the source service account.
- Enter the email for the super administrator for the source tenant.
- Click Add.
- Select the Region closest to the Destination Tenant from the dropdown menu.
Region of Destination Tenant
The Region of Destination Tenant feature optimizes the migration performance and speed by choosing the region closest to the destination tenant. MigrationWiz displays a dropdown that allows you to select the destination region when configuring your destination endpoint.
Tip
You can find the region of your destination tenant directly in the Admin Console by navigating to Data > Compliance > Data Regions.
For more information about the region of your destination tenant review the Choosing the Region of the Destination Tenant article, where you can find the recommended ways to verify it.
Warning
If you do not complete this field you will not be able to save your project and the “This field cannot be left blank.” error will appearEndpoint Validation
Once the information has been provided for both, the source and destination endpoint, and the customer selects Save and Go to Summary, MigrationWiz performs an endpoint validation check.
This validation tests the administrator credentials entered into the project and the Modern Authentication setup only. If there is an issue, the screen redirects to the endpoint and provides an error message or flyout that can be selected for more information regarding the error.
Add Line Items
There are three options for adding items. Choose which one you will use, then follow the steps below.
Autodiscover
The Autodiscover option can be used to discover Shared Drives available from the Source environment. Once discovered, these can be imported to your project as line items. Associated Source Shared Drive IDs will also be linked to the line item.
The endpoint Administrator account on the source needs to be assigned the appropriate GSuite license for MigrationWiz to access Google Drive or Google Shared Drives for the Auto Discovery process.
Naming Line Items
Line items imported using Autodiscover will set the destination shared drive name with the same value as that of the source shared drive name. Make sure to edit the line items, destination shared drive names, and shared drive ID with appropriate values.
Bulk Add
This option allows you to add multiple line items at once by copying and pasting from a spreadsheet or by importing a CSV file.
Quick Add
This option allows you to add items one at a time. For each line item, you have to enter the Source Shared Drive name and drive ID for both, the source and destination.
Important
Please consider the following information.
- The drive ID field is optional. However, the drive ID must be entered correctly if the source or destination has a duplicate shared drive name.
- Google allows you to create multiple shared drives with the same name. In such cases, the Drive ID helps us uniquely identify the source and/or destination shared drives set in the line item.
- Shared Drive ID can be captured from the drive URL.
Example of drive URL: https://drive.google.com/drive/folders/0BNYowieKW7VaPx4MNB
In the above example, the drive ID is 0BNYowieKW7VaPx4MNB
Advanced Options
The following support and advanced options may be useful for your migration.
Important
There is no need to manually apply UseGoogleAPIV2 Advanced Option as the MigrationWiz platform already utilizes the UseGoogleAPIV2=1 by default, to avoid corrupted files after a Google Share Drive to a Google Share Drive Migration.Support Tab
-
ImportFailedGoogleFilesInMSOfficeFormat=1 This option is to handle the failed cases of Google file formatted documents that cannot be imported to the destination in a Google Shared Drive to Google Shared Drive project.
Google proprietary files that cannot be imported in Google format are converted to the respective Microsoft Office format:
- Google Spreadsheets to Microsoft Excel
- Google Documents to Microsoft Word document
- Google Presentations to Microsoft PowerPoint
Important
Files that are successfully migrated with this option cannot be opened using Google Sheets, Docs, or Slides web apps. They must be downloaded at the destination and opened using the appropriate Microsoft Office product.
-
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=8 will increase the timeout to 8 hours.
- InitializationTimeout=14400000 will increase the timeout to 4 hours.
- InitializationTimeout=21600000 will increase the timeout to 6 hours.
-
UserMapping="abc_user1@source-domain.com->pqr_user5@destination-domain.com"
- UserMapping="groupS1@source-domain2.com->groupD5@destination-domain3.com"
- UserMapping="@source-domain2.com->@destination-domain3.com"
- Here are some more examples of how UserMapping can be used in this project:
- UserMapping advanced option should be used when you want to customize the permission mapping
- Please note that the destination users/groups (e.g. pqr_user5@destination-domain) must be active for the destination before migration.
Permission Mapping Behavior
- By default, MigrationWiz will map permission for users/groups by changing the source domain to the destination domain.
- Domain from the admin emails, set by you for source and destination endpoints respectively, will be used for default permission mapping by MigrationWiz.
- Permissions for users/groups with other domains (even if they belong to the source tenant) are considered external by default. External permissions are not migrated by default.
- If your source has multiple domains then we strongly recommend the use of the UserMapping advanced option to set the desired mapping for permissions
-
MigrateExternalUserPermissions=1
- Use this advanced option to migrate external user/group permissions from the source.
- External permissions are not migrated by default.
-
MigrateSharedDriveSettings=1
- When this advanced option is used, source shared drive settings will be migrated and applied to the respective destination shared drive.
- Before migration, please ensure that your destination tenant doesn’t restrict these shared drive settings.
-
SetDestinationAdminAsSharedDriveManager=1
- For a successful migration, your destination shared drive must have an active member from the destination tenant with a Manager role. If your destination drives do not have any valid member with a manager role, then you choose to use this advanced option as an alternative.
- When this advanced option is used, MigrationWiz will use the admin ID from the destination endpoint and set it as a manager member for the destination shared drive.
- ShouldConvertToDestinationFormat=1 MigrationWiz converts the Microsoft file types (".doc", ".docx", ".ppt", ".pptx", ".xls", ".xlsx") into Google file types (Google Docs, Google Sheets, Google Slides), where possible. The file conversions do not happen by default.
Source/Destination Tab
As per your project’s requirements, set the number of versions to be migrated, consider the following information when configuring this field.
- This setting is applied to the entire project.
- The minimum value for the number of versions to migrate is 1.
- The maximum value for the number of versions to migrate is 25.
- The default value for the number of versions to migrate is set as 1.
Licensing Tab
- Each line item in the project requires an independent license. Once the transfer limit has been reached, another license will be required to continue the migration.
- By default, MigrationWiz will only consume a single license per item. This means that when you reach the transfer limit, the migration will stop, and you will have to resubmit your migration with an additional license.
- To allow line items in a project to consume more than one license, please update the maximum number of licenses that can be consumed per line item and save.
Important
Please consider the following information.- Once this advanced option is set, all line items in the migration project will have permission to consume more than a single license.
- This number is applied per item in a single project. This means that if you submit two items for migration, both of the submitted items will be allowed to automatically use the additional license when the transfer limit is reached.
- If you increase the licensing count number to, for example, 2, and you submit a line item migration that has less than 50GB, you will only consume one (1) license, although the licensing count has been set higher.
Verify Credentials
You may verify the credentials of the endpoint and any items in the MigrationWiz project without migrating data or consuming any licenses.
- Open the project containing the line items you wish to validate.
- Select the items you wish to validate.
- Click on the Start button in your dashboard.
- Select Verify Credentials from the drop-down list.
- Once complete, the results of the verification will be shown in the Status section.
Perform a Full Migration
To initiate the migration of document libraries:
- Open the project containing the items you wish to migrate.
- Select the line items to migrate.
- Click on the Start button in your dashboard.
- Select Full Migration from the drop-down list.
- Ensure that the Documents and Document Permissions checkboxes are selected.
- Click Start Migration.
Once complete, the results of the migration will be shown in the Status section.
Migrating Shortcuts
To migrate shortcuts to the destination, run another pass following the full migration steps above, this time with ‘Step 2’ selected.
Step 2 should be run only after all relevant documents and permissions have been migrated. Please note Step 2 is not mandatory. This should be run only if you wish to migrate shortcuts to the destination.
Multi-pass Behavior
- During the first migration pass/run, a file and its associated versions (depending on #versions set in the advanced option) will be migrated to the destination. In subsequent passes, the destination files will be updated if the corresponding source file has a new version.
- Changes to source files will not migrate if the corresponding destination file has been modified after the initial pass.
- Permission changes such as downgrade or removal of access level for shared drive members are not migrated. However, new permissions or upgrades of access levels for shared drive members are migrated.