You can use the On Demand Migration PowerShell API to interact with objects in your On Demand Migration environment. The PowerShell cmdlets allow you to perform tasks, such as account discovery, mail migration, OneDrive migration, task and event management in a PowerShell scripting environment.
The ODM API is available for install or download from the PowerShell Gallery.
|
NOTE: Usage of the PowerShell Gallery requires the PowerShellGet module to be installed on your computer. The module is normally installed with operating system, but may need an upgrade to the latest version. For more information, see How to Install PowerShellGet. |
In this topic:
- On Demand User Role Requirements
- Deploying the ODM PowerShell API Module
- Connecting to the ODM service
- Example: Selecting the organization and migration project
- Getting Help
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.
Deploying the ODM PowerShell API Module
The ODM PowerShell API module must be installed or download from the PowerShell Gallery.
Searching in PowerShell gallery
Find-Module OdmApi -Repository PSGallery |
Installing the module from the PowerShell gallery
Install-Module OdmApi -Repository PSGallery |
Downloading the module from the PowerShell gallery (without installing it)
Save-Module OdmApi -Repository PSGallery -Path "C:\temp" |
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.
Connecting to the ODM service - Interactive mode
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 Microsoft Entra ID. This type of authentication supports MFA and is fully controlled by the user’s Microsoft Entra ID Conditional Access Policies. Any password and lockout policies are also managed directly by the customer through their Microsoft Entra ID.
- Run the following command to connect to your ODM Service. The default region is US.
Connect-OdmService
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'.
- 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
Connecting to the ODM service - Unattended (or Headless) mode
The Microsoft Account Authentication Workflow requires user interaction for the initial authentication with Microsoft. This type of authentication doe not supports MFA. It is used primary for work or school accounts. The Tenant ID is required.
Connect-OdmService -Username "admin@democorp.com" -Password "P@ssword!" -TenantId "81f2b32e-c198-44fd-99d4-109665c16f34" |
Example: Selecting the organization and migration project
Get the organization id
- Log in to Quest On Demand.
- From the Choose an organization page, note the organization id.
- or, if you have already selected an organization -
- Click the logged in user name from the top right corner of the page.
- Click the Organization Name from the drop-down to open the Edit Organization page. Then make a note of the organization id.
Connect to the organization
In your PowerShell session console, enter the command:
Select-OdmOrganization -OrganizationId '6a079d6e-e98a-475b-acba-8b08e9caa430' |
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 : New Migration Project |
Description : Migrate Sales division assets |
SourceTenantDefaultDomainName : sourcecorp.onmicrosoft.com |
TargetTenantDefaultDomainName : targetcorp.onmicrosoft.com |
Id : Elf813YBfQYAK6Q42Kun |
Connect to your project
Identify the project Id and connect to the project using the following command.
Select-OdmProject 'Elf813YBfQYAK6Q42Kun' |
Getting Help
OdmApi module supports online help via Get-Help command. Any command syntax and examples of usage can be displayed by the Get-Help command.
Examples:
Get-Help Connect-OdmService |
Get-Help Connect-OdmService -Examples |
Get-Help Connect-OdmService -Full |