Skip to main content

Create a Device Level Windows AD Migration Policy

Use the AD Migration policy to migrate Windows devices from Active Directory (AD) or Entra ID management toward JumpCloud. You configure the policy in the JumpCloud Admin Portal, bind it to devices, device groups, or policy groups, and the agent runs the migration at a scheduled local time (or, for Self-Service Leave Domain, when an end user starts it).

Migration Mode controls the outcome:

  • Remain in Domain — Optionally binds eligible users and unenrolls non-JumpCloud Mobile Device Management (MDM). The device stays domain-joined or Entra-joined. No profile conversion and no reboot required on success.
  • Leave Domain — Optionally binds and migrates eligible users to local accounts, unenrolls non-JumpCloud MDM, leaves the domain or Entra join, joins a workgroup, and reboots on success.

A successful migration freezes that policy configuration for the device. Edits after SUCCESS are a no-op. To run again with new settings, unbind and rebind the policy, or bind a new policy.

Prerequisites​

  • Access to the JumpCloud Admin Portal with permission to create and bind device policies.
  • Organization grant for the restricted AD Migration policy template (ad_device_migration_windows).
    • The template is Early Access and is not enabled for every organization by default.
  • Windows devices that are AD-joined, Entra-joined, or hybrid-joined, with the JumpCloud agent installed.
  • Supported OS editions from the policy template: Windows 10 or 11, Pro, Enterprise, or Education.
  • For automatic user binding or migration: JumpCloud users whose directory identifier matches a profile on the device.
    • AD (on-prem or hybrid): Security Identifier (SID), populated via Active Directory Integration (ADI) or the JumpCloud API.
    • Entra ID: Object ID, populated via the Entra (Microsoft 365) integration.
  • See Agent Support for On-Premise Active Directory and Entra ID Joined Windows Devices.

Considerations​

  • Eligible users are matched automatically. You do not manually map usernames for automatic binding.
  • The policy does not preview SID or Object ID matches before it applies. Eligibility is evaluated on the device when the migration runs.
  • There is no dedicated migration dashboard. Use policy results and Directory Insights events (policy_result and association_change) to monitor outcomes.
  • Pre-existing bound and eligible users always stay bound. For Leave Domain, those users always migrate, regardless of Users to migrate.
  • Pre-existing bound eligible users are included in the top-ranked calculation for One eligible user, and in whether a One eligible user or All eligible users run can succeed.
  • Windows Credential Manager credentials are not migrated to a new local account. Windows Hello and other credentials encrypted with DPAPI must be reconfigured on the new account after Leave Domain.
  • If more than one AD Migration policy targets the same device, only one migration runs at a time.
note

This is a device level policy that applies system-wide to the device and all of its users. You can bind this policy to individual devices or device groups. For policies that apply to a specific user's profile across devices, see Get Started: Policies and the Learn More section of this article.


Glossary​

TermDescription
EligibleThe JumpCloud user's directory identifier matches a profile on the device (SID for AD/hybrid; Object ID for Entra).
Migration ModeRemain in Domain optionally binds users and leaves MDM. Leave Domain optionally binds users, migrates users, leaves MDM, and leaves the domain or Entra join.
Domain/Entra joinedThe device is joined to an on-prem domain or an Entra tenant. Either makes the device eligible for the policy to run.
Pre-existing bindA JumpCloud user-to-device association already exists when the policy executes.
Top-rankedThe chosen profile among eligible users when One eligible user is selected. The largest profile signed into within the last 30 days wins. If there are no sign-ins in the last 30 days, the largest profile is selected.
Migrated (Leave Domain)A local account is created from the JumpCloud username, and the AD or Entra profile is converted to it.
OrphanedAD or Entra profiles that are not migrated to local accounts during Leave Domain.
Reverting usersMigrated users are converted back to domain or Entra profiles, and the newly created local account is deleted.

Policy Settings​

UI settingApplicable modesValuesDescription
Migration ModeAllRemain in Domain, Leave DomainSelects Light Migration (remain) or Full Migration (leave).
Full migration typeLeave DomainManaged, Self-ServiceManaged runs on a schedule. Self-Service waits for an end user to start migration from the JumpCloud tray app.
ScheduleRemain; Leave Domain with ManagedTime input (device local time)Time when the policy runs. Automatic failure retries also occur at this time. Example: 8:00 AM on the device runs at 8:00 AM in the device timezone, not the admin timezone.
Users to bind / Users to migrateRemain; Leave Domain with ManagedOne eligible user, All eligible users, No usersControls which users are newly bound (and, for Leave Domain, migrated). All existing bound users are always kept bound. For Leave Domain, existing bound users with a profile on the device always migrate.
Workgroup NameLeave DomainText (1–15 characters)Name of the Windows workgroup for migrated accounts after leave.

Users to Bind or Migrate Examples​

When No users is selected and the device already has bound, eligible users:

  • Remain: no new binds; existing bindings are kept; MDM cleanup still runs.
  • Leave Domain: no new binds; all bound users with a profile on the device are still migrated.

Creating the Policy​

  1. Log in to the JumpCloud Admin Portal.
Important

If your data is stored outside of the US, check which login URL you should be using depending on your region. If your organization uses LDAP, RADIUS, or requires firewall allow list configuration, the Fully Qualified Domain Names (FQDNs) will also be region specific. See JumpCloud Data Centers for the URLs, FQDNs, and IP addresses.

  1. Go to Device Management > Policy Management.
  2. Click +Add New.
  3. Select Device Policy.
  4. Select the Windows tab.
  5. Search for and select AD Migration, then click configure.
  6. (Optional) In Policy Name, enter a unique name, or keep the default.
  7. (Optional) In Policy Notes, enter deployment or testing notes.
  8. Under AD Migration Settings, choose Migration Mode.
  9. Configure mode-specific settings:
  • Remain in Domain: set Users to bind and Schedule.
  • Leave Domain: set Full migration type, Workgroup Name, and (for Managed) Users to migrate and Schedule.
  1. (Optional) Select the Policy Groups tab and choose one or more policy groups.
  2. Select the Device Groups or Devices tab and choose targets.
tip

To target only joined devices, create a dynamic device group with a rule for AD joined or Entra joined, then bind the policy to that group.

  1. Click save. Confirm if prompted.

For Managed modes, the assignment shows PENDING until the local schedule fires.


User Outcomes​

A user's outcome depends on mode, selection, eligibility, and existing binding. Remain only binds. Leave Domain always migrates bound users that have a profile on the device, whatever the selection.

Remain in Domain (Managed)​

Profile on the deviceOne eligible userAll eligible usersNo users
Eligible, not bound, top-rankedNewly bound. bind: completed, migrate: skippedNewly bound. bind: completed, migrate: skippedUntouched
Eligible, not bound, not top-rankedUntouchedNewly bound. bind: completed, migrate: skippedUntouched
Eligible, already bound, not top-rankedBinding kept. Not listed in policy resultsBinding kept. bind: completed, migrate: skippedBinding kept. Not listed in policy results
Eligible, already bound, top-rankedBinding kept. bind: completed, migrate: skippedBinding kept. bind: completed, migrate: skippedBinding kept. Not listed in policy results
Not eligible, not boundUntouchedUntouchedUntouched
Not eligible, pre-existing bindUntouchedUntouchedUntouched

Leave Domain (Managed)​

Profile on the deviceOne eligible userAll eligible usersNo users
Eligible, not bound, top-rankedNewly bound and migrated. bind: completed, migrate: completedNewly bound and migrated. bind: completed, migrate: completedOrphaned
Eligible, not bound, not top-rankedOrphanedNewly bound and migrated. bind: completed, migrate: completedOrphaned
Eligible, already bound (any rank)Migrated. bind: completed, migrate: completedMigrated. bind: completed, migrate: completedMigrated. bind: completed, migrate: completed
Not eligible, not boundOrphanedOrphanedOrphaned
Not eligible, pre-existing bindOrphanedOrphanedOrphaned
note

Pre-existing bound users stay bound and always migrate on Leave Domain.


Device Outcomes​

ModeUsersDevice hasPolicy resulterrorCodeMDMDomain/EntraReboot
RemainNo usersAny profilesSUCCESSNoneUnenrolledStays joinedNo
RemainOne eligible user1 or more eligible profilesSUCCESS; top-ranked eligible user boundNoneUnenrolledStays joinedNo
RemainAll eligible users1 or more eligible profilesSUCCESS; every eligible user bound; ineligible users skippedNoneUnenrolledStays joinedNo
RemainOne or AllPre-existing profile that is both bound and eligibleSUCCESSNoneUnenrolledStays joinedNo
RemainOne or AllProfiles exist, none eligibleFAILED; retries next day at scheduled timeUSER_NOT_ELIGIBLEUntouchedStays joinedNo
RemainOne or AllNo domain profilesFAILED; retries next day at scheduled timeCOLLECT_FAILEDUntouchedStays joinedNo
LeaveNo usersNo bound users with a profileSUCCESSNoneUnenrolledLeavesYes
LeaveNo users1 or more bound users with a profileSUCCESS; bound users migratedNoneUnenrolledLeaves to workgroupYes
LeaveOne eligible user1 or more eligible or bound usersSUCCESS; bound users plus top-ranked user migratedNoneUnenrolledLeaves to workgroupYes
LeaveAll eligible users1 or more eligible or bound usersSUCCESS; bound and eligible users migrated; ineligible orphanedNoneUnenrolledLeaves to workgroupYes
LeaveOne or AllNo eligible usersFAILED; retries next day at scheduled timeUSER_NOT_ELIGIBLEUntouchedStays joinedNo
LeaveAnyOne user's migration failsFAILED. Stops at that user and reverts users completed earlier in this attempt. Binds made in this attempt stay. Retries next day at scheduled timeUntouchedStays joinedNo
LeaveAnyLeave domain fails after users migratedFAILED. Migrated users stay migrated. Binds are kept.UnenrolledStays joinedNo

Workarounds for Common Device Failures​

No eligible (SID-matched) users for One or All

  1. Change Users to bind / Users to migrate to No users if you did not intend to bind or migrate users.
  2. Add a matching SID (or Entra Object ID) to a JumpCloud user that matches a profile on the device.

Leave Domain: a user migration fails

  1. Change the user target to No users if no users were intended.
  2. Log off all users and reboot the device before the next scheduled retry.

Leave Domain: leave fails after users are migrated

  1. Manually leave the domain with a script or command.
  2. Unbind the policy from the device to trigger a revert of migrated users back to domain profiles.

Device Preconditions​

Device conditionRemain in DomainLeave Domain
Device is not domain or Entra joinedFailsFails
AD joined, Entra joined, or hybridRunsRuns
Intune MDM but not Entra joined (BYOD)FailsFails
No MDM enrollmentRuns; skips MDM unenrollmentRuns; skips MDM unenrollment
JumpCloud MDMRuns; skips MDM unenrollmentRuns; skips MDM unenrollment
Third-party MDM (Intune, others)Runs; unenrolls MDMRuns; unenrolls MDM
Local account already exists with the target JumpCloud usernameFails; other newly bound users are kept; the clashing user fails to bindFails; any migrated users are reverted
User signed in or profile hive loadedDoes not applyRuns. The migration tool logs the user off before converting. If the profile still cannot be unloaded, the run fails (MIGRATE_FAILED) and users converted earlier in the attempt are reverted.
User cannot be signed out or profile hive cannot be unloadedDoes not applyFails for that user; other migrated users are reverted
User converted in an earlier attemptDoes not applyUser is skipped
note

Entra-joined devices can be joined to a workgroup and still be eligible for migration.


Lifecycle​

A successful migration freezes the policy configuration. Edits after SUCCESS are a no-op, including changing from Remain to Leave. Failed runs retry at the next scheduled time on the next day.

EventMigration stateWhat happensResult posted
Policy assignedNoneWaits for scheduled timePENDING
Same config delivered againAnyNo-opNone
Admin edits the policyWaiting for scheduled timeNew config replaces the old onePENDING
Admin edits the policyDuring migration runEdit ignoredNone
Admin edits the policySuccessEdit ignored. Unassign and reassign to run with the new configNone
Admin edits the policyFailedNew config replaces the old onePENDING
Policy unassignedWaiting for scheduled timePolicy uninstalledUNINSTALL_SUCCESS
Policy unassignedSuccessUninstalled; no impact on users or the completed migration away from ADUNINSTALL_SUCCESS
Policy unassignedFailedUninstalled. Before leave domain completes, migrated users are revertedUNINSTALL_SUCCESS
Policy unassignedRun in progressUninstalled. Before leave domain completes, migrated users are revertedUNINSTALL_PENDING
Duplicate policyRun in progressDuplicate waits until it can run at its scheduleDUPLICATE
Duplicate policyFailedFailed policy continues to retry at its schedule. The duplicate may also run depending on schedule and configurationDUPLICATE, SUCCESS, or FAILED
Duplicate policySuccessDuplicate runs at its scheduled time. Results depend on both policy configurationsSUCCESS or FAILED

Changing from Remain to Leave After Success​

If a device already completed Remain in Domain and you want Leave Domain:

  1. Unbind the policy, change Migration Mode to Leave Domain, then rebind, or
  2. Bind a new Leave Domain policy to the device.

The same pattern applies to any setting change after a successful run.


Primary User Assignment​

Primary User assignment considers only users newly bound by the run. Pre-existing bound, non-primary users are ignored and are not newly assigned as Primary User.

Users newly bound by the runPre-existing eligible user boundPrimary User before the runResult
Exactly 1Yes or NoNoneNewly bound user assigned as Primary User
Exactly 1Yes or NoAlready setUnchanged
2 or moreYes or NoAnyUnchanged
0Yes or NoAnyUnchanged

Self-Service (Leave Domain)​

When Full migration type is Self-Service, the signed-in user starts migration from the JumpCloud tray app.

User who clicks Start MigrationOther eligible, bound users with a profileOutcome
PendingAnyTray app shows the Directory Migration section and a badge or reminder
Eligible, not boundNoneThat user is bound and migrated
Eligible, not bound1 or moreThat user is bound and migrated, and bound users are migrated too
Eligible, already boundAnyThat user is migrated, and bound users are migrated too
Not eligible (no SID match)AnyTray shows a not-eligible message and blocks the run

Monitoring Migration Status​

  1. Go to Device Management > Policy Management.
  2. Select the AD Migration policy.
  3. Open the Status tab.
  4. Click view for a device to open the last result log.

Directory Insights also records policy_result and association_change events.


Best Practices​

Target only joined devices with a dynamic group​

  1. Create a new device group.
  2. Set membership control to Dynamic.
  3. Add a rule for AD joined or Entra joined.
  4. Add any other relevant conditions.
  5. Bind the AD Migration policy to that group.

Coexist now, fully migrate later​

  1. Bind a Remain in Domain policy to the device group.
  2. Let the policy succeed. The device stays joined; users are bound as configured.
  3. Later, bind a Leave Domain policy to the same group (or unbind/rebind after changing settings).

After Leave Domain​

Plan for credentials that do not migrate: Windows Credential Manager, Windows Hello, and other DPAPI-protected credentials must be reconfigured on the new local account.

Was this information helpful?