Chat now with support
Chat with Support

On Demand Migration Current - User Guide

About On Demand Migration Working with On Demand Migration Account Migration Mailbox Migration OneDrive Migration Microsoft Teams Migration Microsoft 365 Groups Migration SharePoint Migration Public Folders Migration Troubleshooting Finalizing the Migration Appendix A: Working with PowerShell

Migrating Public Folders

Make sure that all associated accounts are matched or migrated in account migration project and create the Migration task:

  1. Go to the migration project Dashboard in case you use new migration UI. In case you are using classic experience or you are already on the public folder migration Dashboard, go to step 3.
  2. Click Public Folders widget.
  1. Open Public Folders and select the public folders you want to migrate.

TIP: Use search and filtering to quickly navigate through the list of public folders.

  1. Click Migrate.
  1. Specify whether sub-folders will be migrated.
  2. Specify whether public folder content will be migrated. You can clear this option for test migration to create an empty public folder structure and transfer folder permissions.
  1. Schedule when the task will be started. See for details.
  1. Click Next to view the task summary. Name the task and check selected options. Click Finish to save or start the task depending on schedule option selected.

The migration task is created. You can track its progress in the Tasks, view the summary on the Dashboard or monitor alerts and notifications in the Events.


Before you contact Quest support is recommended to prepare organization ID, project ID and task ID

To find Task ID and Project ID

In Events grid right click task link in Task Name column and select Copy link address. Copied link contains the Task ID and the Project ID.

To find organization ID

If you are trying to find an existing On Demand organization ID that another users have created, make sure that they have added your email address under Access Control > Administrators.

  1. In case you are Administrator of the organization, click your account in top right corner to open the account related menu.
  2. Click the organization name. You can see Organization ID in Manage Organization dialog.

Special Cases

Table 1: Special Cases

Feature Event Root cause Workaround
Microsoft Teams Migration Cannot find the group '{Group ID}' on the source. Try to check whether the group exists using PowerShell cmdlet 'Get-UnifiedGroup' as described in the documentation Group associated with the team not found

Use the following PowerShell script and the group ID provided by the error message to get the group name:

Install-Module PowerShellGet -Force Install-Module -Name ExchangeOnlineManagement
$UserCredential = Get-Credential
Connect-ExchangeOnline -Credential $UserCredential
Get-UnifiedGroup -Identity "b1552bc6-f932-4ac9-a4f2-24a5d2da2eed" | Format-List DisplayName,Id

If this is a source group, fix your source data before proceed for migration.

If this is a target group, check if this group exists in target. If this group exists, please contact our support. If this group doesn't exist, remove this group associated team from target, and rerun provision and migration.

Finalizing the Migration

Congratulations! The migration is complete.

If you have created a temporary Migration Manager account for the migration as described in the Consents and Permissions topic, it is time to remove it because this account has elevated permissions and could pose security risks.

Removing the temporary account from Teams

The temporary Migration Manager account added to all source and target teams respectively as members or owners, can be removed. To remove the temporary Migration Manager account from the teams and groups use the following script:

  • Remove-Migration-Account-From-Teams

This script can be downloaded here:

IMPORTANT: To run this script, a user account with the Global Administratorrole is required for the source tenant. For example, you can use the Tenant Administrator account.

Although the Remove-TeamUser command used in the script runs successfully, the Teams application does not reflect the update immediately. The Teams application may need to be open for up to an hour before changes are reflected.

Appendix A: Working with PowerShell

You can use the On Demand Migration (ODM) PowerShell module to interact with objects in your On Demand Migration environment using PowerShell cmdlets. The cmdlets allow you to perform tasks, such as account discovery, mail migration, OneDrive migration, task and event management in a PowerShell scripting environment.

Deploying the ODM PowerShell Module

The ODM PowerShell module must be requested from Quest and are not included with the ODM Subscription. Loading the ODM module is the same as loading any other third-party PowerShell module. The module must be loaded for each PowerShell session.

To enable the ODM PowerShell API:

  1. Get the file from Quest Technical Support.
  2. Unblock the file: Right-click the file > Properties > Unblock > OK.
  3. Unzip the ODMApi to a folder on the local machine.
  4. Start PowerShell (Run as administrator)
  5. Set Powershell Execution Policy to unrestricted with the command set-executionpolicy unrestricted
  6. Install the ODMApi Module. For example, if your unzipped file is in the C:\OdmAPI folder, then use the command: Import-Module C:\OdmAPI\OdmAPI -Global

Connecting to the ODM service

Before you can use the ODM PowerShell cmdlets to interact with your ODM environment, you must connect and authenticate your access to your ODM host. The credentials you use must be granted a role with sufficient privileges to work with the On Demand Migration services.

On Demand User Role Requirements

User must have the Migration Administrator role to access and run any of the On Demand Migration PowerShell commands. On Demand ships with this role. See the On Demand Global Settings Current User Guide for more information about setting up roles.


The Microsoft Account Authentication Workflow requires user interaction for the initial authentication with Microsoft. When Microsoft Account authentication is used all authentication is handled via Microsoft and the user’s Azure Active Directory. This type of authentication supports MFA and is fully controlled by the user’s Azure Active Directory Conditional Access Policies. Any password and lockout policies are also managed directly by the customer through their Azure Active Directory.

To connect to the ODM service
  1. Run the following command to connect to your ODM Service. The default region is US.

    To connect to a specific region like Europe, run the command Connect-OdmService -Region EU. The region value can be set in the OdmApi.psm1 file by editing this line: [string]$Region = 'us'. For example to set default region to Europe replace the line to [string]$Region = 'EU'.

  2. This command will redirect the user to the Microsoft Authentication workflow to authentication against the user’s Azure Active Directory. In the authentication dialog, enter the credentials of the On Demand account (not the tenant account)

    If MFA is enforced, users will see an additional window

Selecting the organization and migration project

Step 1: Get the organization id
  1. Log in to Quest On Demand
  2. From the Choose an organization page, note the organization id

- or, if you have already selected an organization -

  1. Click the logged in user name from the top right corner of the page
  2. Click the Organization Name from the drop-down to open the Edit Organization page. Then make a note of the organization id
Step 2: Connect to the organization

In your PowerShell session console, enter the command

Select-OdmOrganization -OrganizationId '6a079d6e-e37a-475b-acba-8b08e9caa430'
Step 3: Select a migration project

Once connected to the Organisation, we need to connect to the Project, the project GUID is required, this is obtained from the ODM GUI or running the command Get-ODMProject which will list all past and present projects associated with the ODM organization, an example of this command is below:

Get-OdmProject | fl
Name                          : Source Corp ➜ Target Corp
Description                   : Excepteur sint occaecat
SourceTenantDefaultDomainName :
TargetTenantDefaultDomainName :
Id                           : Elf813YBfQYAK6Q42Kun
Step 4: Connect to your project

Identify the project Id and connect to the project using the following command.

Select-OdmProject 'Elf813YBfQYAK6Q42Kun'
Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating