Entra Connect Sync to Cloud Sync: what the guided migration covers and what stays behind
Since Entra Connect Sync 2.6.91.0 there is a "Transition to Cloud Sync" task in the Connect wizard, and Microsoft is moving tenants over in waves. The tool is deliberately narrow and most enterprise environments will fall outside it, so this post is about the rest: which Connect Sync features Cloud Sync handles differently or not at all, what to inventory first, and how to run the move so there is still a way back.
Photo: Getty Images on Unsplash
What Microsoft shipped in September
The migration tool documentation describes the flow. You start it on the active Connect server (it won't run on a staging server), sign in with Hybrid Identity Administrator and supply Domain Admin credentials for each forest, which the wizard uses to set up the gMSA for the provisioning agent. It runs a readiness review, installs and registers the provisioning agent, creates one Cloud Sync configuration per in-scope domain in a disabled state, and asks you to run Provision on Demand against a representative object per domain. Activation then enables Cloud Sync and puts Connect Sync into staging mode. The validation page compares exactly one aggregate "Total Objects" count between the two engines plus job health; Microsoft states explicitly that it does not validate individual objects, memberships or writeback. Connect Sync has to stay installed for a two-week validation period.
Read the eligibility limits carefully: one forest, no more than 2,000 in-scope objects, inclusion-based OU scoping with at most 30 included containers per domain, and none of the blocking features (custom sync rules, group filtering, a custom UPN, directory extensions, device synchronization, unsupported writeback). What it transfers is user and group sync, password hash sync, password writeback, Exchange hybrid writeback and domain/OU scoping. If you are blocked and get a deadline in your notification anyway, the documented route is a support request for a temporary exception, with your readiness report and a migration plan attached. In practice the guided tool is for small, clean tenants, and everyone else ends up on the manual route, where the capability differences below decide the plan.
What Cloud Sync handles differently
- Sync rules. Connect's rule engine (precedence, join rules, scoping filters, expression-based transformations) has no equivalent; Cloud Sync offers attribute mappings with the expression builder. Out-of-band reconciliation isn't supported either.
- Filtering. OU scoping works in both. Attribute-based filtering is "Limited" in the decision guide and simply not supported in the scenarios table, so plan on the stricter reading. Group-based filtering in Connect blocks the guided tool.
- Scale. Cloud Sync supports 150,000 objects per AD domain and groups up to 50,000 members, against 250,000 members in Connect.
- Multi-forest. Cross-forest references and merging attributes from multiple domains are Connect-only, and the account forest plus resource forest Exchange topology is listed as Connect-only. Disconnected forests are where Cloud Sync is actually ahead.
- Devices. Device sync for hybrid join became generally available in Cloud Sync at the end of September and has to be enabled separately, but the guided tool still treats it as a blocker. Device writeback is not coming to Cloud Sync, and the scenarios table lists Windows Hello for Business as Connect-only, which I read as the certificate trust deployments that depend on device writeback.
- Authentication. Cloud Sync doesn't configure PTA or AD FS. PTA and Seamless SSO keep working after migration and, according to Microsoft, remain manageable through the Connect Sync configuration wizard. If you use them, the Connect binaries don't disappear entirely.
- Source anchor. Cloud Sync uses ms-DS-ConsistencyGuid with fallback to objectGUID and there is no supported way to change that (Cloud Sync FAQ). A Connect installation that was set up years ago with another attribute as sourceAnchor has to solve that first.
What to inventory before you start
# Run on the active Connect Sync server
Import-Module ADSync
$connectors = @{}
Get-ADSyncConnector | ForEach-Object { $connectors[$_.Identifier] = $_.Name }
$rules = Get-ADSyncRule
# Custom rules: no ImmutableTag
$rules | Where-Object { [string]::IsNullOrEmpty($_.ImmutableTag) } |
Sort-Object Direction, Precedence |
Select-Object Precedence, Direction, Name, LinkType, Disabled,
SourceObjectType, TargetObjectType,
@{ Name = 'Connector'; Expression = { $connectors[$_.Connector] } } |
Export-Csv .\custom-sync-rules.csv -NoTypeInformation
# Out-of-box rules that were switched off, usually replaced by a clone
$rules | Where-Object { $_.ImmutableTag -and $_.Disabled } |
Select-Object Precedence, Direction, Name
%ProgramData%\AADConnect until you export on demand.The second check is the source anchor on groups. The pilot tutorial notes that Connect Sync doesn't populate ms-DS-ConsistencyGuid for groups by default, and Cloud Sync needs it to hard match:
Get-ADGroup -Filter * -SearchBase 'OU=Pilot,DC=contoso,DC=com' -Properties 'mS-DS-ConsistencyGuid' |
Where-Object { -not $_.'mS-DS-ConsistencyGuid' } |
Select-Object Name, DistinguishedName
Running the migration side by side
To compare counts after each batch I use plain Microsoft Graph PowerShell rather than the sample script on the migration page:
Connect-MgGraph -Scopes 'User.Read.All'
$ou = 'OU=Pilot,DC=contoso,DC=com'
$synced = Get-MgUser -All -Filter 'onPremisesSyncEnabled eq true' `
-Property id,userPrincipalName,onPremisesDistinguishedName
($synced | Where-Object { $_.OnPremisesDistinguishedName -like "*,$ou" }).Count
Having a way back
My approach is to treat the two-week window like a classic staging server swap and rehearse it in a test tenant: disable the Cloud Sync configurations first so only one engine exports, run an initial sync cycle on Connect, review pending exports with csexport and CSExportAnalyzer, then disable staging mode. One effect to plan for: password hash sync resumes from its last watermark when staging mode is disabled, and after two weeks in staging the catch-up can take hours, during which recently changed passwords don't work in the cloud yet.
Two other deadlines running alongside
The hard match hardening applies to both engines regardless of client version: since 1 July 2026 (the privileged-role part was announced for 1 June) a hard match is blocked when the target account already has onPremisesObjectIdentifier set, or holds or is eligible for a privileged role. Cloud Sync takes over existing objects through hard match, so any synced account with a privileged role in the pilot scope is something to test explicitly, and this is a good reason not to combine the sync migration with a domain restructure or forest move.
Where to start
Update October 2026: On 21 October Microsoft rewrote the migration FAQ and removed the sentence that you can roll back; it now only says the tool puts Connect Sync in staging mode and that Connect Sync stays installed for the validation period. Treat the staging swap above as your own fallback to rehearse, not as a supported rollback, and for a failed activation follow the wizard's recovery instructions.
Sources
- Microsoft Entra Connect: version release history
- Migrate from Connect Sync to Cloud Sync with the guided migration tool
- What's new in Microsoft Entra (April 2026: migration from Connect Sync to Cloud Sync)
- Cloud Sync decision guide: comparison between Microsoft Entra Connect and Cloud Sync
- Supported hybrid identity scenarios
- Device sync with Microsoft Entra Cloud Sync
- Microsoft Entra Cloud Sync FAQ
- Import and export Microsoft Entra Connect configuration settings
- Change the default configuration of Connect Sync (sync rules, ImmutableTag)
- Migrate from Microsoft Entra Connect Sync to Cloud Sync FAQ
- Migrate to Microsoft Entra Cloud Sync for a synced AD forest
- Pilot Cloud Sync for an existing synced AD forest
- Connect Sync staging server and disaster recovery
- MC1237727: retirement of Connect Sync versions below 2.5.79.0
- Connect Sync hardening update and mandatory upgrade
- Hard match security protections