In this topic:
Prerequisites
Any Connections that are required by Reports must be migrated before scheduling a Workspace migration.
The Default Target Admin User configured in your Power BI project, is added to migrated Workspaces to ensure that access to migrated Workspaces is retained if a matching administrator account is not available for a migrated Workspace. We recommend that you retain this for safety.
Considerations
Your target tenant might already host Power BI Workspaces created before the migration. In cases where a Workspace name already exists in the destination, the migration will merge report, semantic model and Workspaces permissions data from the source tenant.
We recommend that you run only one migration task at a time to avoid scheduling delays.
Starting a Migrate Workspaces Task
- Log in to Quest On Demand and choose an organization if you have set up multiple organizations.
- From the navigation pane, click Migration to open the My Projects list.
- Create a new project or open an existing project.
- From the Power BI tile on the project dashboard click Open. Then select the Workspaces tab.
- Select one or more Workspace that you want to migrate.
- Click Migrate in the List View menu. The New Migrate Workspaces Task wizard starts.
- Step 1: Migration Options
- Default Target Admin User - specify the default target admin user to use for any user that has no match on the target. If a default admin user was configured from the project previously, it will automatically appear in this field.
- Incremental migration - select this option to migrate modified or missing data. This option is very helpful in subsequent migrations to keep your migrated data synchronized between source and target tenants.
- Click Next.
- Step 2: Schedule
- Choose from one of three options to schedule the task. The scheduler will be activated after you complete the task wizard.
- Run now - task runs immediately.
- Run later - task must be started manually.
- Schedule - task will be started at a future date and time entered in the corresponding calendar field.
- Click Next.
- Step 3: Summary
- Verify the task specifications as described below:
- Name - name of the task. The default name is Migrate Workspaces Task. You can specify a custom name.
- Default Target Admin User - name of the admin user specified for this task.
- Incremental migration - indicates whether or not this option has been selected.
- Scheduled start - date and time when the task will start. Now indicates that the task will start immediately.
- Click Back to revise or review a previous step or click Finish to complete the task wizard and start the task as scheduled.
- When the task completes, the Workspace State column in the Workspaces list is updated.
Reviewing the Migrate Workspaces Task
- Open the Tasks tab.
- Select the Workspace migration task that you want to review.
- In the task details pane that opens, the information presented is as described below:
- Task Status - current status of the task.
- Type - Type of the task. The type is MigrateWorkspaces.
- Created - Date and time when the task was created.
- Modified - Date and time when the task was last updated.
- Last Operation - The action that was most recently performed in this task.
- Schedule - Date and time when the task started. Now indicates that the task started immediately after the task was created.
- Events (number) - Number indicates the count of events that the task encountered. The values indicate the type of the events and the event count for each type.
- Workspaces (number) - The number of Workspaces that were selected for migration and the number of Workspaces passing through the various states from Migrating to Migrated.
Reviewing the Migrate Workspaces Task Events
- Open the Tasks tab.
- Select the Workspace migration task for which you want to review the events.
- In the task details pane that opens, click Events (number). The Events tab opens with a filtered list of events for the selected task.
- Select an event that you want to review. In the event details pane that opens, the information presented is as described below:
- Object - name of the Power BI object if applicable.
- Task - name of the task.
- Time - date and time when the event occurred.
- Summary - a descriptive statement about the event if an exception occurs.
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.
- In case you are Administrator of the organization, click your account in top right corner to open the account related menu.
- Click the organization name. You can see Organization ID in Manage Organization dialog.
Special Cases
Table 1: Special Cases
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. |
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: https://support.quest.com/on-demand-migration/kb/320327
|
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. |
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
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.
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
Step 1: 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.
Step 2: Connect to the organization
In your PowerShell session console, enter the command:
Select-OdmOrganization -OrganizationId '6a079d6e-e98a-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:
Name : New Migration Project |
Description : Migrate Sales division assets |
SourceTenantDefaultDomainName : sourcecorp.onmicrosoft.com |
TargetTenantDefaultDomainName : targetcorp.onmicrosoft.com |
Id : Elf813YBfQYAK6Q42Kun |
Step 4: 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 |