Sync in Intune has always meant slightly different things depending on where you pressed it. Service release 2607 changed that for Windows, and it changes how you should troubleshoot: the first question is no longer whether the device synced, it is what you are actually inventorying. Where you force Intune sync from now changes what comes back. On new hardware that inventory starts at enrolment, which is Autopilot device preparation.
What changed
The Sync device action in the admin centre now triggers a fuller synchronisation for Windows devices, spanning configuration policies, apps and scripts rather than a narrower subset. Microsoft calls it especially useful during troubleshooting, incident response and high-priority rollouts, which is a fair description of the three times anyone presses that button.
In the same release, the properties catalog gained the ability to collect Windows registry data. Both entries are dated in the Intune service release notes. You can define a device inventory policy that collects a single value, every value directly under a key, or the same value across subkeys under HKEY_LOCAL_MACHINE.
Worth knowing
That second one quietly removes a whole category of remediation script. It overlaps directly with what Intune proactive remediations was carrying for a lot of estates. If you wrote a proactive remediation purely to read a registry value and report it back, that script is now a policy, and it stops being something that can fail on a device and start being something you can query.
Three ways to force Intune sync, and which one you want
| Where | What it does |
|---|---|
| Company Portal, on the device | User-initiated check-in. Fastest to trigger, and the one to ask a user for. |
| Settings, Accounts, Access work or school, Info, Sync | The same MDM check-in without needing Company Portal installed. |
| Sync action in the admin centre | Server-initiated. Now a fuller sync across configuration, apps and scripts. |
When a setting has not landed, ask which of these was pressed before assuming the policy is at fault. If none of them produce a result, the full diagnosis order is in Intune device not syncing. A user saying they synced and an admin saying they synced are describing different events. The same distinction matters when offboarding, because Intune wipe vs retire both wait for a check-in.
Forcing it from the device
When you need it done without asking the user to click anything, trigger the MDM push directly.
# Triggers the MDM enrolment's own scheduled sync tasks. Run elevated.
$enrollmentId = (Get-ScheduledTask -TaskPath "MicrosoftWindowsEnterpriseMgmt*" |
Select-Object -First 1).TaskPath.Split('')[-2]
if (-not $enrollmentId) {
Write-Warning 'No MDM enrolment found. Device is not Intune enrolled.'
return
}
Write-Host "Enrolment: $enrollmentId"
# Schedule #3 is the push-triggered sync; running them all is harmless.
Get-ScheduledTask -TaskPath "MicrosoftWindowsEnterpriseMgmt$enrollmentId" |
ForEach-Object {
Write-Host "Starting: $($_.TaskName)"
Start-ScheduledTask -TaskPath $_.TaskPath -TaskName $_.TaskName
}
# Then watch the agent do the work.
Get-WinEvent -LogName 'Microsoft-Windows-DeviceManagement-Enterprise-Diagnostics-Provider/Admin' `
-MaxEvents 20 |
Select-Object TimeCreated, Id, LevelDisplayName, Message |
Format-Table -Wrap
Triggering it for many devices from Graph
The admin centre action is fine for one device. For a ring, script it.
Connect-MgGraph -Scopes 'DeviceManagementManagedDevices.PrivilegedOperations.All',
'DeviceManagementManagedDevices.Read.All'
# Narrow this. Syncing every Windows device at once is not a troubleshooting step.
$devices = Get-MgDeviceManagementManagedDevice -All -Filter "operatingSystem eq 'Windows'" |
Where-Object { $_.LastSyncDateTime -lt (Get-Date).AddDays(-2) }
Write-Host "Devices not synced in 48 hours: $($devices.Count)"
foreach ($d in $devices) {
try {
Sync-MgDeviceManagementManagedDevice -ManagedDeviceId $d.Id -ErrorAction Stop
Write-Host "Queued: $($d.DeviceName)"
} catch {
Write-Warning "Failed: $($d.DeviceName). $($_.Exception.Message)"
}
Start-Sleep -Milliseconds 250 # be kind to the throttle
}
Filtering on devices that have not checked in for two days is usually more informative than syncing the ones you were already looking at. The list itself is the finding.
When sync is not the problem
Pressing sync harder does not fix a policy that will never apply. Before you press it a third time, check the three things that look like sync failures and are not: an assignment that targets a group the device is not in, a policy conflict where two profiles set the same value differently, and a device registered for classic Autopilot ignoring a device preparation policy.
All three present identically. The device syncs successfully and the setting does not appear.
Driver deployment fails in exactly the same shape and is worth ruling out separately, because a driver update policy carries prerequisites and a scan cycle of its own. The five causes are set out in Intune driver updates not working.
And when you want the device’s actual state rather than a report of it, device query answers in near real time, but it sits behind a separate subscription and carries limits of its own. Those are set out in Intune Device Query limits and licensing.
Compliance status is the one thing a sync will not hurry, because it is reported back to Intune rather than pushed down to the device. Microsoft puts the full round trip at up to 24 hours, which is set out in why an Intune compliance policy still lags after a sync.
What I would do
Use the fuller admin centre sync when you have made a change and want it now. Use the device-side task trigger when you cannot reach the user. Use the Graph filter when you want to know how many devices are quietly not checking in, which is the question worth asking before any of the others.
And move your registry-reading remediation scripts into the properties catalog. A policy that reports a value is strictly better than a script that might.



