CloudMigrator Quick Start Guide

One in a series of guides for CloudMigrator.

Migrating from GSuite

The following instructions are designed to assist you in migrating content from GSuite.

Please make sure that the following pre-requisites are complete before continuing onto the CloudMigrator setup.
    • The email address of a super admin account for your source and destination domain.
    • Set up a service account and enabled the correct Google APIs for both the source and destination domains.
    • When migrating Google Drive to Google Drive, there are some special considerations you should be aware of for a successful migration. Please see the knowledgebase article for more detailed information.
    When migrating Google Drive to Google Drive, there are some special considerations you should be aware of for a successful migration. Please see the knowledgebase article for more detailed information.
    You can use Drive Readiness Tests to inspect your domains and configuration settings and highlights any potential issues with the configuration. You should run a Drive Readiness Test before performing a Google Drive to Drive migration to ensure you receive the desired results. Please see the knowledgebase article for more detailed information.
1. Source Platform Pre-requisites
Setting up a service account and Google APIs
These steps should be completed in your source enviroment

In order to access your users' email, files etc. you will need to create a google project and set up a service account. You will also need to enable the relevant APIs.

Firstly, go to your google cloud console, (login as an administrator if you are not already) and click 'Project' at the top and then 'Create Project'.

Enter a name for your project and click 'Create'.

When you have created your project, click on the options menu in the top left of the page, then 'API Manager', then 'Credentials'. Click on 'New credentials' and then 'Service account key'

Next, select 'New service account', name it anything and select 'Project' and then 'Owner' as the role from the dropdown list, finally select P12 as the key type and click 'Create'. Upon clicking 'Create', a P12 file will be downloaded; this is important for later so keep a note of where you downloaded it.

Dismiss the dialog box and on the right hand side of the page, click 'Manage service accounts' and click the three dots beside your service account, then select 'Edit'

You should now be met with the edit service account window, check 'Enable Google Apps Domain-wide Delegation' and click 'Configure consent screen'.

Next, give your product any name you wish and click 'Save' to be taken back to the previous window. Click 'Save' again.

Now make a note of the email address of the service account you just made as you will need this later to configure CloudMigrator. Click 'View Client ID' in the right most column of the service account table and make a note of that too.

Next, click on the options menu again, then 'API Manager', then 'Library'. This will take you to a page where you can search for and enable various google APIs, just use the search box and the enable button at the top of each APIs respective page to enable to following APIs.

  • Admin SDK
  • Drive API
  • Gmail API
  • Calendar API
  • Contacts API
  • Tasks API
  • Groups Migration API

Nearly there! Once all the APIs are enabled, launch the Google Apps Admin Console for your source domain.

Go to 'Security', then to 'Show More', then to 'Advanced Settings' and then finally to 'Manage API client access'. Enter the Client ID you noted earlier into the 'Client Name' field and paste the following into the 'Scopes' field:,,,,,,,,,,,,,

Finally, click on 'Authorize' on the right on the 'Scopes' field and an entry for your Client ID and its associated now-accessible APIs will appear. Do this for both the source and destination domains.

   Destination Platform Pre-requisites - Office 365
These steps should be completed in your Destination enviroment.
Setting up Application Impersonation

Application Impersonation can be configured for your admin account within CloudMigrator. Select 'Setup Administrative Permissions' in the Destination Platforn Settings page.
Application Impersonation can also be configured manually as below. If Impersonation is not availalbe in your enviroment, please follow the steps for Delgated Access.
Alternative Application Impersonation Setup

First login to the Office 365 Exchange Admin Portal. Go to 'permissions' on the left hand side bar and click the + symbol in order to add a new role group. Enter 'CloudMigratorImpersonation' in both the Name and Description fields.

Next, click the + symbol under 'Roles', select ApplicationImpersonation, click 'add' and the click 'OK'.

Next, click the + symbol under 'Members', select your administrator user, click 'add' and then click 'OK'.

Click 'Save' and you will see the impersonation role listen in admin roles. Application impersonation is now set up.

Setting up Delegated Access

Delegated access gives a user account permission to access another. Delegated access must be set up if you are not using an Enterprise plan of Office 365

First login to the Office 365 Exchange Admin Portal. Go to 'recipients' then under 'mailboxes', double-click the user you wish to delegate access to then go to 'Mailbox Delegation' and click the '+' symbol under 'Full Access'

Next, select your administrator user, click 'add' and then click 'OK'

Click 'Save' and your administrator user now has the required access for the migration to occur, repeat this process for all users you wish to migrate.

Office 365 Groups Azure App Registration

The following steps are required to migrate from/to Office 365 Groups.

  • Login to the Microsoft Azure portal for your chosen domain.
  • Click 'Azure Active Directory'and then'App registrations'
  • Click 'New registration'
    • Enter a name for your application (This can be changed at any time).
    • Supported Account Types should be left as the default 'Accounts in this organizational directory only (NAME OF COMPANY)'
    • Redirect URI is not required.
    • Click 'Register'
  • On successfully registering your application you will be redirected to the below screen.
  • NOTE : Open Notepad and Copy 'Application (client) ID'. This is the 'Client Id' required in the CloudMigrator configuration.
  • Click 'Certificates & secrets'
  • 'New client secret'
  • Select 'Never'
  • Click 'Add'
  • Client Secret will be generated and the client secrets table populated like below.
  • NOTE : Copy the value generated and paste the value into notepad. This is the 'Client Secret' required in the CloudMigrator configuration.
  • Click 'API Permissions'
  • Remove the default 'User.Read' by selecting the row and clicking 'Remove permission'
  • Click 'Add a permission', under 'Microsoft APIs' select 'Microsoft Graph'
  • Click 'Application Permission'
  • Under 'Select Permissions' type the name of the permission you would like to add. Once all added, click 'Grant admin consent for '(Name of company)'
  • If you have not already done so, please insure that all permissions have been granted by clicking the 'Grant admin consent for (Company name)' button. .
    Office 365 Groups as a Source
  • Directory.Read.All
  • Directory.ReadWrite.All
  • Group.Read.All
  • Sites.ReadWrite.All
  • Office 365 Groups as a Destination
  • AuditLog.Read.All
  • Directory.Read.All
  • Group.Read.All
  • Group.ReadWrite.All
  • Sites.ReadWrite.All
  •    Destination Platform Pre-requisites - G Suite
    These steps should be completed in your Destination enviroment

    CloudMigrator Go makes migration as simple as possible. The only pre-requisite is the installation of the CM Go application. When accessing CloudMigrator Go for the first time you will be prompted to install the app, simply authorise and you're all set.

    2. Select your configuration

    Select the GSuite configuration item.

    3. Source Platform - GSuite

    Choose GSuite as the migration source and enter your GSuite settings into CloudMigrator and then click next.

    • Domain Name - The domain name you will be migrating from. This should be the Internet domain name, not the local domain name.
    • Admin Username - An administrator account for the domain specified, this will usually be an email address.
    • Service Account Email Address - Before attempting to configure CloudMigrator, you should have created a google cloud platform project and created a service account for it. Input the service account's email address in this field.
    • Private Key - The file path to the P12 key that was generated and downloaded when creating the test account.

    If you cannot find the private key, go back to Google Cloud Platform service accounts, select your project (if not already selected), use the option button on the right of the service account and click "Create Key". Select P12 and download the key file.

    CloudMigrator will now perform a small connection test to verify that the details you have entered are correct. If this fails you may have entered something incorrectly. If you are failing to resolve the issue please contact CloudMigrator Assist via the chat icon.

    4. Destination Platform - G-Suite

    Select G Suite as your destination platform.

    Select where you would like your data to be migrated. If you have purchased GSuite for Business or Google Vault you may want to migrate data directly into Google Vault.

    To enable Google Vault for your domain, please see the following article:

    Selecting Google Apps will migrate content from each app on the source domain to the same app on the destination domain, emails will go from Gmail to Gmail, for example.

    Enter information for your G Suite admin account.

    CloudMigrator will perform a connection test against your GSuite domain to verify that everything has been entered correctly.

    If your GSuite system is brand new or for any reason the users being migrated have not been created in GSuite, CloudMigrator can create your users for you. Simply go to advanced settings, to the user settings section and enable Create Users.

    4. Destination Platform - Office 365

    Select Office 365 as your destination platform.

    Enter information for your O365 admin account.

    • Admin Username - The email address of an administrator within your Office 365 environment.
    • Admin Password - The password for the administrator account specified earlier.
    • Domain Name - The domain name of your Office 365 environment, this might be the part after the @ in your administrator email address. If migrating from several different domains, several migrations will be needed.
    • Test Username - A non-admin user who is already present in the system.

    CloudMigrator will perform a connection test against your O365 domain to verify that everything has been entered correctly.

    If you are on a Small Business or Kiosk plan and need to use delegated access to migrate from Office 365 then you need to make an advanced settings change. Click Advanced Settings and under the Account Details section select Credential Method and change it to Delegated Access.

    Office 365 Configuration and Provisioning

    CloudMigrator includes a number of platform configuration and provisioning options for Office 365 migration that enable advanced automation scenarios. These options can be executed during the migration process and will run as part of the migration of users' data. See here for detailed information.

    If migrating files or sites to Office 365, you will need the SharePoint Admin URL for your domain, this can be entered in the specified field in the advanced settings

    There are special considerations when you need to preserve the user's domain in the target tenancy. This is because you cannot have the same domain in two Office 365 tenancies at the same time. The recommended approach to achieve this is detailed below:

    • All users to be migrated in the source tenancy will have a primary SMTP email address ending in their current domain e.g. ''. Check that each of these also has at least one alias. This will be needed later to avoid having to delete users in order to stop mail going to their original mailboxes
    • Provision users mailboxes in the target tenancy with their primary SMTP email addresses based on the '' domain.
    • Configure CloudMigrator with the target domain based on the new tenancy's '' domain. This will be used for both the bulk migration pass and the delta pass.
    • On completion of the delta pass, all the users should have their current primary SMTP address switched to their alias. This will in-affect stop mail from being received and be the start of the mail 'down-time'.
    • Remove the '' domain from all users in the source tenancy. It is essential that no objects remain assigned to this domain otherwise you will not be able to remove the domain from the tenancy.
    • Remove the '' domain from the source tenancy.
    • Add the '' domain to the target tenancy
    • Assign the '' domain to all the users in the target tenancy and make this the primary SMTP email address
    • This ends the 'mail down-time' as mail will now successfully flow to the users again in the new tenancy.
    5. Select which users to migrate

    It's now time to add which users you'd like to migrate.

    When migrating from GSuite you may be able to Get Users from the actions menu. If this option is unavailable, you can manually import users via a CSV file or simply add them individually via the plus icon

    At this point you can choose what to migrate for each user, when migrating from GSuite you can migrate mail , contacts , calendars , tasks , files , and sites .

    Enter your user's full email address within the Export Name field. If you have already created your GSuite users then you will just need to enter their username.

    To migrate from a GSuite Team Drive, add a new item using the orange plus and specify the export type as 'TeamDrive'. You must specify the ID of the Team Drive you wish to migrate from in 'Documents Path'. You can also specify any folder within a Team Drive. You must make sure your migrating account has organizer permissions for any Team Drives that are being migrated.

    To migrate files to a GSuite Team Drive, either select the item you wish to migrate and select 'Migrate as Team Drive' from the actions menu or specify the import type as 'TeamDrive' when adding an item. You can then specify the name or ID of the Team Drive in the 'Given Name' field. If the Team Drive specified doesn't exist then it will be created. You can use a unique ID in the 'Import Name' field to identify the Team Drive across multiple migrations. You can specify a specific folder to migrate from in the 'Documents Path' field, this will migrate only the specified folder and all subfolders. Finally, you must make sure your migrating account has organizer permissions for any Team Drives that are being migrated.

    To improve performance to Team Drives, configure multiple organizers to perform the migration with the configuration setting: Destination Platform Migration Settings > G Suite > Team Drive Options > Team Drive Default Organizers
    6. Select how much content to migrate

    CloudMigrator lets you decide how much content you'd like to migrate to your shiny new system.

    If you are changing your email address as part of the migration you can verify that the domain names are correct here. You can also specify specific address replacements in the respective section of the advanced settings.

    For more information on domain and address replacements, see this page.

    7. Run an environment scan

    Environment Scan allows you to plan and prepare your migration by performing analysis of your source file environment and reporting important information such as file and folder counts, data volume, permissions, and folder depth.

    After entering your source and destination server settings, populating your userlist, and configuring your settings, upon proceeding you will be prompted to run an environment scan. It is optional but recommended for all file platforms.

    Click 'Start' to begin the scan. CloudMigrator will connect to your source environment and capture file information. This can take up to several hours depending on the amount of data present. Once the scan completes the data is reported on the Environment Scans page and can be exported to file.

    For more information file environment scan, see this page.

    8. Start your migration

    We know that you may want to start your migration in the middle of the night, or over the weekend, but we don't expect you to stay up in order to do so. With CloudMigrator you can decide to schedule exactly when you'd like the migration to occur.

    Start the migration.

    9. Review your migration results

    During the migration process CloudMigrator will report back in real time exactly who is being migrated and the items being processed. All you now need to do is sit back, relax and wait for your migration to complete.

    Check the progress of your migration.

    Once complete you can download a full report for your migration.

    For more information about this page, please visit the summary page.

    GSuite Advanced Settings (Source)

    While the default options are recommended for the majority of users, CloudMigrator gives users the ability to customise their migration experience. The following are the advanced options available to those migrating from GSuite.

    Other Options

    • Migrate Account Delegates - Migrate delegated access settings for accounts.
    • Migrate Signature - Migrate signature settings for for accounts.
    • Migrate Forwarding Settings - Migrate forwarding settings for accounts.
    • Migrate Nicknames - Migrate nickname settings for accounts.
    • Migrate POP Settings - Migrate settings for POP for accounts.
    • Migrate IMAP Settings - Migrate settings for IMAP for accounts
    • Migrate Out Of Office - Migrate out of office settings for accounts.

    Appointment Options

    • Migrate Hangout Links - Migrate Hangout links within appointments by adding them to the body of a migrated appointment.

    Chat Options

    • Migrate Chat History - Migrate Google Chat messages to the destination system. In the destination, migrated chat messages appear as email messages.
    • Migrated Chat Label - The label to apply to migrated chat messages.

    Document Options

    • Migrate All Drive Items - When migrating from Google Drive, migrate all required files when processing the migrating user. This can result in files not belonging to the migrating user being migrated but is highly recommended to maintain integrity of the destination Drive.
    • Migrate Items Only From Listed Users - Migrate only Drive items from those users listed on the users tab. 'Migrate All Drive Items' should also be true for this setting to apply. If you want to migrate items from users other than those being migrated, be sure to include them on the users tab but do not select them for migration.
    • Migrate Contents of Non-Owned Folders - Migrate contents of folders not owned by the migrating user. This usually only needs enabling when some users are not migrated to the destination.
    • Migrate Orphaned Folders - Mmigrate orphaned Google Drive folders that have no parents. This can cause a migration to take longer due to an increase in the required number of requests. Note that orphaned files are always migrated.
    • Preserve Modified Date - Attempt to preserve the last modified date of any migrated files.
    • Maximum Results Per Request - The limit on the number of results returned when listing files using the Google Drive API

    Email Options

    • Google Email Migration API Version - Specify the version of the Google Email migration API to use, or whether to use IMAP.
    • Gmail API Filter Override - When using the Gmail API to export email, use the provided filter to override other tool settings. Leave empty to auto generate the filter. Note: this will override the following settings: Date Ranges, Folders and Excluded Folders.

    Migration Options (Google)

    • Allow Missing Special Folders - Allow a migration to proceed if any of the ‘special’ folders (All Mail/Trash/Starred/etc.) are not visible via IMAP due to user settings. Note if this is set to true, then it is possible that some email for users may be missed. This option is not relevant when using the Gmail API for migration specified in "Google Email Migration API Version" option.

    Comment Options (Google)

    • Migrate File Comments - Allow the migration of Google Document comments. Please review the following article before enabling this feature.
    • Maximum Results Per Request - the maximum number of results to return for individual queries to the Comments API
    G Suite Advanced Settings (Destination)

    While the default options are recommended for the majority of users, CloudMigrator gives users the ability to customise their migration experience. The following are the advanced options available to those migrating to GSuite.

    Transfer Settings

    • Migration Base URL 1.0 - The base URL for email migration using v1 of the email migration API. This should only be changed for specialized migration scenarios and for normal migrations should not be altered.
    • Migration Base URL 2.0 - The base URL for email migration using v2 of the email migration API. This should only be changed for specialized migration scenarios and for normal migrations should not be altered.
    • Timeout - The time in milliseconds that the tool has to complete sending a transaction to Google before an error occurs. This should be set high enough so that large amounts of data can be sent (further description is available in ‘Migration Strategies’). If a transaction fails using the provided timeout, it will be re-attempted using a larger timeout. While errors occur this will continue with increasing lengths of timeout, up to the retry count. It is better to set this to a very high value to ensure requests get through.
    • Maximum Batch Size - This is the maximum size, in bytes, of a single transaction with the Google servers. Note: The absolute maximum size of any transaction that Google Apps allows is 32MB. Because of the way that messages are created and encoded (XML OR JSON, which is then Base 64 encoded) it is not usually possible to know the exact size of a message until it is created. Messages can be sent in batches, which also make it more difficult to establish the exact size of each transaction. Large batches also increase memory usage significantly and it is recommended that the maximum value of 5MB is used. This setting also has an impact on how long a single message will take to transmit to Google Apps and can therefore affect the requirements for the Timeout setting.
    • Maximum Batch Count - The number of items that will be sent in a batch when transferring contacts and calendar items.
    • Retry Count - The number of times a transaction with the Google servers will be retried if it fails. Note: A transaction could fail for one of a few reasons. If the transport layer fails, that is a transaction could not get through to the Google servers or the transaction times out, then the transaction will be attempted again until the retry count is met – with an increasing timeout value each time. Another possible reason for failure is that the client is sending too many requests per second. In this case, an exponential backoff system is employed where the tool waits for a period before retying any failed transactions (or parts of transactions).
    • Modify Request - Leave at the default unless instructed by support.
    • Custom Parameters - Adds custom headers to Google API requests, for debugging only.

    Calendar Options

    • Force Appointment Acceptance - Set this to true to force all appointment recipients' attendance as confirmed.
    • Appointment Privacy - Set the visibility of all appointments. Original will use the privacy setting from the source system, while the other settings will override the original setting and set the specified visibility.
    • Maximum Attendees - Set the maximum number of attendees for any migrated appointments.
    • Default Calendar Timezone - Set the default calendar timezone to use for recurring appointments which have no timezone set in the source system and where the target Google calendar is in UTC.
    • Send Individual Events - Send appointment events as individual items rather than as a batch. Performance is slower than in batches, but may help with some rare issues with rate limiting.
    • Color Categorized Appointments - If the appointment had a category in the source system, apply a colour to all appointments of that category.
    • Migrate Attachments - Migrate appointment attachments to Google Drive and share with attendee.

    Document Options (File and Attachements)

    • Convert Text - Where possible, convert text and word documents to the Google Documents format.
    • Convert Spreadsheets - Where possible, convert spreadsheets to the Google Documents format.
    • Convert Presentations - Where possible, convert presentations to the Google Documents format.
    • Convert Drawings - Where possible, convert drawings (*.wmf) to the Google Documents format.
    • Convert OCR - Where possible, convert images using OCR.

    Email Options

    • Archive Inbox EMail - Do not place migrated email from the inbox into the inbox within Google Apps. Instead the email will have a label of 'Migrated Email' applied.
    • Apply Inbox Label to Sub-Folders - When a message from the source system was in a folder in the inbox, create the message with both 'Inbox' and 'Folder Name' labels. Set to False to just create the folder label.
    • Modify Sent Address - For sent messages, if the sender does not match the email address of the destination account, modify it to match. This is to allow for sent items to display correctly in the Google Apps interface. Default is true.
    • Maximum Batch Count - Specify the maximum number of messages in a single batch. Specify 0 to let the tool automatically allocate batches. Only applicable for immediate migrations.
    • Email Transfer Delay - Specify the number of milliseconds to wait between sending messages.
    • Email Thread Count - Specify the number of milliseconds to wait between sending messages

    Document Options

    • Collection Naming Scheme - When attachments or files are migrated to Google Drive, choose the collection label scheme that will be applied to the migrated documents.
      • Folder Name and Collection Label - migrate documents into a collection based on the folder name the attachment or document originated from, and also apply the collection label specified in 'Collection Name'.
      • Folder Name - Migrate documents into a collection based on the folder name the attachment or document originated from.
      • Collection Label - Migrate documents into a collection specified by 'Collection Name'.
      • None - Do not apply a collection label.
    • Collection Label - Specify the name of the collection label that will be used when 'Collection Label Scheme' specifies that a collection label should be applied to migrated documents.
    • Use Cached Item Mappings - Use cached item mappings when migrating to Drive. (Not applicable for Google to Google migrations).
    • Preserve Modified Date - Attempt to preserve the modified date during a migration.
    • Allow Non-Google Sharing - Allow permissions to be added for users without Google accounts by sending notification emails to those users. Note this can result in many emails being sent to any non-Google addresses.
    • Maximum Results Per Request - The limit on the number of results returned when listing files using the Google Drive API.

    Team Drive Options

    • Team Drive Default Organizers - Optionally, specify a list of existing user email addresses that will be assigned as organizers to Team Drives being migrated to. These organizer accounts will then be used to improve the performance of the migration. In the default case the G Suite admin user account will be used to perform the migration to Team Drives, but specifying multiple users here improves throughput by utlizing multiple organizer accounts simultaneously.
    • Team Drive File Permissions - When adding permissions to files within Team Drives choose where these permissions will be applied. Choose from 'File' (the default), 'Root' (where all permissions will be applied on the Team Drive itself and thus inherited down the whole tree) or 'None' (no permissions will be applied)
    • Team Drive Folder Permissions - Team Drive folders cannot directly have permissions. Choose whether to apply permissions that apply to folders from the source at the root of the Team Drive, or not at all.
    • Team Drive Same Domain Migration Operation - When migrating from a Google Drive folder into a Team Drive choose whether to copy the files, or to move them. Note in the case of a move, the skeleton folder structure of the source folder will remain.

    User Options

    • Check Users/Resources/Groups Exist - Set this to false if you do not want to check if users, groups or resources exist in Google Apps (useful for testing exporting without creating accounts in Google Apps).
    • Create Users/Resources/Groups - If users, groups or resources (supported source systems only) are not present within the Google domain, create them. If users have not been pre-created within the Google system then this can be set to true to have the migration tool create the users. If the users have not been pre-created and this is set to false then the migration process will fail. Note: Setting this to true requires that the Admin SDK is enabled for the Google domain and also that all details are provided for each user, including name, given name, family name and password. Failing to provide any of these details will cause the creation process to fail for that user. It is generally recommended that users are pre-created in the Google domain before processing with the tool. For resources and groups, only the Resource/Group Name (and Import/Export Names) are required.
    • Change Password On Login - Force users to change their password on next login.

    Contacts Options

    • Migrate to 'My Contacts' - Migrate personal contacts to the 'My Contacts' group rather than only to 'All Contacts'.
    • Send Individual Contacts - This should generally be left to true, while slower than batch importing its much more reliable.

    Label Options

    • Explode Message Labels - By default, if an email message is contained within a folder structure the label applied to that message will be the same as the folder structure (e.g. 'Personal Folders/My Folder/My Other Folder'). Setting this option to true will create a label for each of the folders (e.g. for the case described, labels of 'Personal Folders', 'My Folder' and 'My Other Folder' will be applied).
    • Create Sub Labels - Create all sub-labels for labels within a message. For example, if a message has the label 'toplevel/midlevel', create both 'toplevel' and 'toplevel/midlevel' labels. This is specifically designed for use with nested labels.

    Performance Options

    • Multi-Server Drive Migration - Use distributed locking to allow for Drive migrations to be performed from multiple servers. This can be disabled if using only one server for migration.
    Office 365 Advanced Settings (Destination)

    While the default options are recommended for the majority of users, CloudMigrator gives users the ability to customise their migration experience. The following are the advanced options available to those migrating to GSuite.

    OneDrive for Business/SharePoint

    These settings are only needed when migrating files or sites to your Office 365 domain.

    • Sharepoint Admin URL - The URL for the sharepoint admin center. Go to the office 365 admin portal, then to the Admin Centers and finally to Sharepoint. It should look like this example:
    • Retry Count - The number of times an operation will be tried before failing when making requests to SharePoint.
    • Timeout - The timeout for operations with the sharepoint server.
    • Maximum File Size - The maximum size (in bytes) of files that will be uploaded.
    • Top Level Folder - Optionally place all folders and files in the specified top level folder. Leave empty to not create an extra top level folder.
    • Truncate Folders and Files - OneDrive and SharePoint impose various restrictions on the length of folder and filenames. By default CloudMigrator365 will truncate these folder and filenames so that they fit under the limits imposed by SharePoint. If this is disabled and any folder or file paths are too long, then these folders and files will fail to migrate.
    • Preserve File Created and Modified Dates - Preserve date and time created metadata for any files migrated.
    • Provision Sites - Provision any personal OneDrive sites or Team Sites that do not already exist as part of a migration.
    • Provision Sites Timeout Check - Wait at most this number of milliseconds when provisioning sites before failing if the site has not yet been created.
    • Team Site URL - The URL for sites and teams. This is usually
    • Team/Sites Directory - When migrating to Team Sites, choose to migrate to a URL starting with 'teams' or 'sites'.
    • Trace OneDrive Requests - All OneDrive requests will be logged in the trace files in order to help diagnose errors.
    • Ignore List Sync Limits - Ignore restrictions and limitations in using OneDrive for Business to sync SharePoint Online or SharePoint 2013 libraries to your computer. There are very few scenarios in which this options should be changed.


    It is highly recommended to use the default PowerShell settings, unless you know exactly what you are doing.

    • PowerShell Variables - Specify the name/value pairs that can be used as replacement variables in PowerShell scripts that the tool may run. The name must be in the format: [!name], where 'name' can be anything of your choice.
    • Run PowerShell Init Script - Choose if the PowerShell initialization script will be run. The PowerShell initialization script is run once at the beginning of a migration.
    • PowerShell Init Script - The script that will be run if permitted by the previous setting.
    • Run PowerShell Before Script - Choose if a PowerShell script will be run at the beginning of a user's migration. This PowerShell script is run for every user at the beginning of their migration.
    • PowerShell Before Script - The script that will be run if permitted by the previous setting.
    • Run PowerShell After Script - Choose if a PowerShell script will be run after a user's migration. This PowerShell script is run after a user's migration has finished.
    • PowerShell After Script - The script that will be run if permitted by the previous setting.
    • Run PowerShell Finalize Script - Choose if a PowerShell script will be run after all users migrations are complete. This PowerShell script is run once, when all migrations are complete.
    • PowerShell Finalize Script - The script that will be run if permitted by the previous setting.

    Account Details

    • Autodiscovery Service URL - In order to connect to the correct server that a user’s data may be stored on, autodiscovery is used to obtain the server information. Input the URL to the autodiscovery service for your domain. The default value is a general address than can usually be used to resolve server addresses on Office 365.
    • Direct Exchange EWS URL - For Office 365 you should use autodiscovery and not specify anything for this setting.
    • Authentication Method - Choose the authentication type that will be used with the server. For Office 365 this will normally be set to 'Basic'.
    • Use Workstation Credentials - Use the credentials of the logged in user rather than the provided credentials. Use this for NTLM, Kerberos or other authentication methods which require the Windows identity. This setting generally is irrelevant when migrating to/from Office 365.
    • Credential Method - If you have setup Application Impersonation as described earlier in this page then you should specify Impersonation for this setting. If you have not setup Application Impersonation (or cannot use it for some reason), then choose either Delegated Access (for BPOS for example) or User Credentials. If using User Credentials then the user’s passwords on the Users tab must be correct.

    Transfer Settings

    • Retry Count - The number of times an operation will be attempted before failing.
    • Timeout - The maximum time, in milliseconds that communication will be attempted.
    • Use X-AnchorMailbox Header - When using application impersonation, use the X-AnchorMailbox header to improve performance.

    Calendar Timezone

    • Exchange 2010/Office 365 Calendar Timezone - The default timezone to use with appointments when migrating from Exchange 2010 when the timezone is not identified by other means.

    Public Folder Options

    • Nest Public Folders - Nest Public Folders under a specific top-level Public Folder.
    • Nested Public Folder Name - The name of the top-level Public Folder under which other Public Folders will be nested if 'Nest Public Folders' is true.

    Message Options

    • Maximum File Size - The maximum message size, in bytes, that will be migrated, anything larger will be ignored.
    • Strip Received Headers - Removes Received headers from emails and replaces them with a single header corresponding to the Date header of the email.  See incorrect date ordering of emails in Exchange after migrating from G Suite for more information.
    • Use Chunked HTTP Web Requests - This is an optimisation for CloudMigrator that allows large files to be migrated without reading the entire payload into memory. This is enforced for Office 365 regardless of setting, but disabled by default for other Exchange platforms as they may not support chunked/streamed uploads.

    Office 365 Groups

  • Client Id – can be obtained by registering an application under 'App registrations'  in Azure Active Directory.
  • Client Secret – can be obtained by registering an application under 'App registrations' in Azure Active Directory.
  • Test Office 365 Group Email – the email address of a Office 365 group that already exists.
  • Retry Count – the number of times an operation will be attempted before failing.
  • Timeout – the timeout for operations with the server.
  • Create Office 365 Group – create Office 365 Group if it does not exist.
  • Provision Office 365 Group Timeout Check – the maximum period of time used to check if a O365 Group has been created.
  • Maximum Results Per Request – the maximum number of results to return for individual queries.