Welcome to Opsole Migrate — your comprehensive solution for modern device migration. Whether you’re preparing for a cloud-first future or managing complex merger and acquisition scenarios, Opsole Migrate is purpose-built to simplify and secure the transition process.
This guide will introduce the key features of Opsole Migrate, help you prepare the required environment, and walk you through the steps to execute secure, seamless device migrations with confidence.
With Opsole Migrate, you can:
✅ Migrate devices from Local Active Directory Join to Microsoft Entra Join
✅ Convert Hybrid Entra Joined devices to Cloud-Only Entra Join
✅ Perform cross-tenant device migrations — ideal for Mergers, Acquisitions, and Divestitures
All without:
- Reimaging or wiping devices
- Losing user profiles, configurations, or local data
- Interrupting users — even with BitLocker enabled
1. Prerequisites for Using Opsole Migrate
Before deploying Opsole Migrate, ensure that the following prerequisites are met across both the source and destination tenants. Meeting these requirements is essential to ensure a smooth and secure migration process.
1.1 Microsoft Licensing Requirements
Each user involved in the migration process must be assigned the appropriate Microsoft licenses. The following are required:
- Microsoft Intune
- Available as a standalone license
- or included in Microsoft 365 E3 or E5 license suites
- Microsoft Entra ID P1 or P2
- Available as a standalone license
- or included in Microsoft 365 E3 or E5 license suites
Note: Licenses must be active and properly assigned before initiating any migration steps.
1.2 Supported Device Management States
Devices targeted for migration must be in one of the following supported management states:
- Microsoft Entra ID Joined (formerly Azure AD Joined)
- Hybrid Entra ID Joined
- Active Directory Domain Joined
- MECM/SCCM Managed or Co-managed
- Fully Intune Managed
Important: Devices that are unmanaged (i.e., not enrolled in Intune or MECM) will require an alternate deployment method for the Opsole Migrate application.
1.3 PC Technical Requirements
To ensure compatibility and optimal performance during the migration process, all client devices must meet the following minimum hardware and software requirements:
Specification | Minimum Requirement |
OS Version | Windows 10/11 (Build 22H2 or later) |
RAM | 8 GB |
Storage | 256 GB SSD |
Processor | 64-bit CPU or Socket with at least 2 cores (4 cores recommended) |
TPM | Version 2.0 or higher |
Connectivity | Stable internet connection |
Note: Devices not meeting these minimum specifications may experience performance degradation or compatibility issues during migration.
1.4 Network Requirements
To enable a smooth and uninterrupted migration experience, the network used by devices must meet the following requirements:
✅ Supports HTTPS traffic over port 443
✅ Does not require user authentication or use a proxy that requires user authentication
✅ Allows outbound access to the following Microsoft and Opsole service endpoints:
· https://*.manage.microsoft.com · https://*.manage.microsoftazure.us · https://*.msazure.cn · https://*.microsoftonline.com · https://*.microsoftonline-p.com · https://*.microsoftonline.us · https://*.microsoftonline.de · https://*.microsoftonline.cn · https://*.opsole.com |
Important: Ensure that firewall rules, proxy configurations, and DNS filtering policies do not block access to any of the above domains. |
1.5 Access and Configuration Requirements
To successfully deploy and manage migrations using Opsole Migrate, specific access permissions and configuration settings are required within Microsoft Entra ID, Active Directory, and Microsoft Intune.
Microsoft Entra ID – Access Requirements
Global Administrator privileges are required in both the source and destination tenants to:
✅ Register applications in Microsoft Entra ID
✅ Generate client secrets
✅ Assign and consent to required Microsoft Graph API permissions
Active Directory – Access Requirements
✅ An account with delegated permissions to disjoin devices from Active Directory
Microsoft Entra ID & Intune – Configuration Requirements
Ensure the following settings are correctly configured in Microsoft Intune and Entra ID:
| Setting | Recommended Value |
| Automatic Enrollment (User Scope) | All |
| Allow users to join devices to Entra ID | Enabled for: All |
| Require Multifactor Authentication to join/register devices | Set to: NO |
| Conditional Access Policies | Exclude the Package_Account (used for bulk provisioning) |
Note: Misconfiguration of these settings may prevent device registration or enrollment during the migration process.
1.6 Required Graph API Permissions
The following application-level Microsoft Graph API permissions must be granted to the Opsole Migrate application in both source and destination tenants. These permissions enable critical operations such as device management, user attribute access, and policy enforcement.
| Permission | Type | Purpose |
| Device.ReadWrite.All | Application | Update group tag attributes for Autopilot |
| DeviceManagementManagedDevices.ReadWrite.All | Application | Set primary user and delete Intune object |
| DeviceManagementServicesConfig.ReadWrite.All | Application | Manage Autopilot registration and cleanup |
| User.Read.All | Application | Retrieve user attributes |
| Directory.Read.All | Application | Read Entra ID directory data |
| DeviceManagementConfiguration.ReadWrite.All | Application | Manage Intune device policies |
| DeviceLocalCredential.Read.All | Application | Read device local credential passwords |
| DeviceLocalCredential.ReadBasic.All | Application | Read device local credential properties |
Note: These permissions require admin consent during the application registration process in Microsoft Entra ID.
1.7 Additional Tools Required
To support device preparation and application deployment during the migration process, the following tools are required:
🔧 Windows Configuration Designer
Used to streamline Windows device provisioning and create provisioning packages for bulk enrollment.
👉 Download from Microsoft Store
🧰 Microsoft Win32 Content Prep Tool
Prepares Windows application packages in .intunewin format for deployment via Microsoft Intune.
👉 Download from Microsoft Learn
Tip: Ensure both tools are installed on the admin workstation or build machine used to prepare and package the OpsoleMigrate.
2. Deployment Procedure
2.1 Migration Source Files
To obtain the latest Opsole Migrate Installation Files from your Opsole Customer Portal. Navigate to the License Management section to download the migration setup file.
This files include the application installer and supporting components necessary for executing migrations.
2.2 Phase 1: Pre-Migration Activities
Step 1: Validate Prerequisites
Before proceeding, confirm that all requirements have been met:
✅ Microsoft licensing and tenant access rights
✅ Supported device states and technical specifications
✅ Network connectivity and Graph API permissions
✅ Required tools (e.g., Windows Configuration Designer, Win32 Content Prep Tool)
Refer to Section 1: Prerequisites for complete details.
2.2.1 Application Registration in Microsoft Entra ID
You will register a new application in each source and destination tenant to enable API access.
- Go to entra.microsoft.com and sign in with Global Administrator credentials
Step 1: Register the Application
1. Navigate to:
Home > Applications > App registrations
2. Click + New registration

3. Provide a name for the application (e.g., OpsoleMigrateApp). Leave other settings as default.

4. Click Register
Save Identifiers
- From the application’s Overview page, copy and save the following:
- Application (Client) ID
- Directory (Tenant) ID
Add API Permissions
- Go to API permissions > click + Add a permission

- On the Request API permissions page, select Microsoft Graph

- Select Application permissions

- Use the search bar to add the following permissions:

| Permission | Type |
| Device.ReadWrite.All | Application |
| DeviceManagementManagedDevices.ReadWrite.All | Application |
| DeviceManagementServicesConfig.ReadWrite.All | Application |
| User.Read.All | Application |
| Directory.Read.All | Application |
| DeviceManagementConfiguration.ReadWrite.All | Application |
| DeviceLocalCredential.ReadBasic.All | Application |

5. After adding the permissions, click Grant admin consent for [TENANT NAME]. Click Yes at the Grant admin consent confirmation popup.

6. All permissions should now display a status of Granted for [TENANT NAME]

Generate a Client Secret
1. Navigate to Certificates & secrets > Client secrets
2. Click + New client secret

3. Fill in the following:
- Description: (e.g., OpsoleSecretKey)
Expires: Select a duration (e.g., 180 days recommended)
4. Click Add
Save the Secret Value
- Copy the Value of the new secret immediately and save it securely
⚠️ This is the only time the secret value will be visible. Do not navigate away without saving it.

2.2.2 Provisioning Package Preparation
To support device registration and migration, a provisioning package must be created using the Windows Configuration Designer (WCD) tool.
Step 1: Download Windows Configuration Designer (WCD)
Download and install the Windows Configuration Designer from the Microsoft Store:
👉 Download from Microsoft Store
Note:
- The Microsoft Store must be accessible on the PC where the provisioning package will be created.
- This is a one-time setup activity typically performed on the IT admin’s workstation.
Step 2: Launch Windows Configuration Designer
- Open the Start menu
- Search for and launch Windows Configuration Designer
Create a New Project
- In the WCD home screen, select “Provision desktop devices” under the Create menu.
- In the New project popup:
- Enter a name for your provisioning package and Path
- Click Finish
Configure Device Settings
- Under Set up device, define a naming template for your PCs (e.g., IT-{SERIAL})
- Click Next

3. In Set up network, toggle “Connect device to a Wi-Fi network” to Off
4. Click Next
Enroll with Bulk Azure AD Token
- Under Account Management, do the following:
- Choose Enroll in Azure AD under Manage organization/school accounts
Toggle “Refresh AAD credentials” to Yes

2. You will be prompted to sign in with Global Admin credentials

3.If this is your first time using WCD:
- You will see a permissions consent screen
- Click “Consent on behalf of your organization”
Then click Accept

4. You should see a confirmation message:
✅ Bulk token was fetched successfully
Complete the Package
- Skip the Add applications and Add certificates screens by clicking Next
- On the Summary screen, verify all configuration details
- Click Create
- After creation, a file path to the .ppkg file will be displayed
Note: If you wish to retain the existing PC name post-migration, skip the above Create step and refer to Optional Steps below.
(Optional) Remove Computer Name from Package
If you need to retain the existing computer name after migration:
- In WCD, click “Switch to advanced editor”

- Search for Computer name object
- Select DNSComputerName

- On the right-hand side panel, (under Runtime settings > Identification), Select DNSComputerName
- click Remove

- The computer name setting will now be excluded from the package

Export the Final Provisioning Package
- Click Export > Provisioning package

- Enter a file name, then click Next

- Leave security settings as default, click Next

- Choose the destination folder, then click Next

- Click Build

You will see a confirmation message:
✅ Provisioning package has been successfully saved and the location

2.2.3 Active Directory Device Disjoin Account Preparation
To enable devices to be disjoined from a Local Active Directory (AD) domain during migration, a dedicated standard user account with delegated permissions is required. This account will be used by the Opsole Migrate application to perform disjoin operations on the targeted devices.
Step 1: Create a Delegated AD Account
- On your domain controller, open the Active Directory Users and Computers console (dsa.msc)
- Create a new user account in your preferred Organizational Unit (OU)
- Set a strong password
- Ensure the account is not restricted by any GPO or security policies that would prevent remote logins
- Confirm the account can log in remotely to domain-joined PCs
Step 2: Delegate Control to the Computers OU
- In Active Directory Users and Computers, navigate to the OU that contains the computers targeted for migration
- Right-click the OU and select “Delegate Control…”
- In the Delegation of Control Wizard:
- Click Next

- Click Next
Select the user account you created in Step 1 and Click Next

4. On the Tasks to Delegate screen:
- Choose “Create a custom task to delegate”
- Click Next

5. In the Active Directory Object Type window:
- Select “Only the following objects in the folder”
- Check:
✅ Computer objects
✅ Create selected objects in this folder
✅ Delete selected objects in this folder - Click Next

6. In the Permissions window:
- Select:
✅ General
✅ Property-specific
✅Creation/deletion of specific child objects - Under Permissions, check the following:
✅ Delete All Child Objects
✅ Read All Properties
✅ Write All Properties
✅ Reset Password
- Select:
7. Click Next, review your settings

8. click Finish to complete the delegation.

✅ The user account now has the required delegated rights to disjoin computer objects from Active Directory.
2.3 Opsole Migrate Portal Setup
After completing all prerequisite configurations, you’re ready to set up the Opsole Migrate Portal. This step involves registering your tenant and applying the configuration values gathered during the previous setup phases.
Step 1: Access the Opsole Migrate Portal
- Navigate to your unique Opsole Migrate portal URL provided to you during your Opsole Migrate license activation.
- Log in using the credentials provided
Step 2: Configure Migration Settings
- In the Opsole Migrate portal, go to:
Admin Configuration > Migration - Click Set Migration Configuration

3. Select your intended Migration Scenario
(e.g., “AD Joined Device to Entra ID or Hybrid Joined Device to Entra ID”)

4. In the Source Tenant section, enter the following values (retrieved during application registration):
- Client ID
- Client Secret
- Tenant ID
- Tenant Name
5. Click Verify, Opsole Migrate will automatically validate the credentials and configuration
6. Save Configuration
Step 3: Additional Configuration
After successfully saving your Entra ID configuration, proceed to complete the Additional Configuration settings and provisioning package upload:
- From the Opsole Migrate Portal, navigate to:
Admin Configuration > Additional Configuration

- Fill in the following fields as needed for your migration scenario:
- Domain Leave User: Enter Domain\Username format
- Group Tag (Autopilot Devices): Specify the group, if applicable, to manage devices provisioned through Autopilot
- BitLocker Migrate Option: MIGRATE or DECRYPT based on whether you want to retain BitLocker encryption during migration
- Device Attributes: Add a device attributes name which will be added to the migrated Device
- Target Group: Define the destination group to which devices should be assigned after migration
- Click Save to apply the settings.
Step 4: Provisioning package
To upload the provisioning package for the migration process, follow these steps:
- Navigate to Admin Configuration > Additional Configuration
- Locate the Package section on this page
- Click Upload Package
- Upload the Provisioning package
✅ Your configuration is now complete. You are ready to begin the Opsdole Migrate application and Start Your Migration






