← Back to articles Intune

Intune Device Sync: Force Refresh Every 10 Minutes

Intune Device Sync: Force Refresh Every 10 Minutes

Device synchronization in Intune is the heartbeat of mobile device management. Without it, your fleet exists in a fog of stale information: you don't know which devices are compliant, which policies have been applied, or whether a security fix has actually landed. This article walks you through the mechanics of Intune device sync, why refresh cycles matter in production, and exactly how to configure and verify them — with platform-accurate guidance and no fabricated OMA-URIs.

📝 Accuracy corrections in this article Several widely circulated Intune sync guides contain technical errors: OMA-URI paths that don't exist for iOS/macOS (these platforms don't support OMA-URI at all), incorrect value units for the Windows DMClient CSP polling nodes (minutes, not seconds), unsupported Android compliance-rule-density claims, and a conflation of Config Refresh (Windows 11 policy re-enforcement) with MDM check-in frequency. This article corrects all of those points.
⚡ Critical Foundation Device sync is not a one-time action. It's a continuous conversation between the Intune cloud service and your enrolled devices. Configuring a refresh interval affects when devices report state, not when policies are pushed. Push is event-driven via APNs/FCM; sync is a scheduled heartbeat. Understand this distinction before tuning anything in production.

How Intune Device Sync Actually Works

At its core, Intune sync is a pull mechanism. Your device — whether iOS, Android, Windows, or macOS — wakes up at a configured interval, connects to Intune, and does three things:

  • "Here's my current state" — compliance status, hardware inventory, app inventory, OS version, battery, free storage, enrolled user, security settings
  • "What policies should I have?" — requesting applicable configuration profiles, compliance policies, and app assignments
  • "Do you have any commands for me?" — looking for remote actions like wipe, reset passcode, or send notification

The Intune service responds with any changed policies, new assignments, and pending actions. Separately, push notifications (Apple APNs for iOS/macOS, Google FCM for Android) can wake a device immediately when Intune has an urgent command — these are event-driven and independent of the scheduled sync heartbeat.

INTUNE DEVICE SYNC — PULL + PUSH MODEL Mobile Device iOS / Android Windows / macOS Intune Cloud Policy + Command Store Device Registry Admin Portal Device State Compliance View SCHEDULED SYNC (pull) POLICIES + COMMANDS APNs/FCM PUSH (event-driven) DEVICE REPORT WINDOWS POLLING TIMELINE EXAMPLE (10-MINUTE INTERVAL) T=0 Sync T+10m Next Sync T+20m Repeats 10 MINUTES 10 MINUTES Scheduled pull (all platforms) APNs/FCM push (iOS, Android, macOS)
Intune uses a pull model (scheduled sync) combined with event-driven push notifications (APNs for Apple platforms, FCM for Android). Push wakes the device immediately; scheduled sync handles routine inventory and policy checks.

Default Sync Intervals by Platform

PlatformDefault IntervalDirectly Configurable?Mechanism
iOS / iPadOS~1 hour (MDM protocol)No (Apple-controlled)Apple MDM + APNs push
Android Enterprise~8 hoursNo direct numeric controlGoogle FCM push + DPC agent
Windows 10/11~8 hrs (post-initial retries)Yes — DMClient CSPOMA-URI via Intune profile
macOS~1 hour (MDM protocol)No (Apple-controlled)Apple MDM + APNs push
⚠️ Key Platform Reality Only Windows gives you granular, documented, numeric control of the sync polling interval via Intune OMA-URI. iOS and macOS are governed by Apple's MDM protocol — Intune cannot override this with custom profiles. For urgent scenarios on Apple platforms, use the console's Sync remote action (APNs push) instead.

iOS / iPadOS — Sync Mechanics Corrected

iOS MDM is built on Apple's MDM protocol and communicates via Apple Push Notification service (APNs). Intune cannot control iOS check-in frequency via OMA-URI configuration profiles — OMA-URI is a Windows-only MDM standard.

⛔ Fabricated OMA-URI Warning Some guides instruct you to configure ./Vendor/MSFT/MDM/Intune/Synchronization/CheckInFrequency as a custom iOS OMA-URI. This CSP path does not exist in Microsoft's documentation and will have no effect on iOS devices. Intune may show the profile as "Succeeded" (because it processed the deployment) while silently ignoring the unknown key. Don't create this profile.

What you can actually do to improve iOS sync responsiveness:

  1. Force immediate sync from the Intune console

    Navigate to Devices > All Devices, select the iOS device, then Remote Actions > Sync. Intune sends a silent APNs push notification. The device wakes up and completes the sync within 1–5 minutes. This is the primary tool for urgent sync needs.

  2. Verify your APNs certificate

    The APNs certificate is the delivery mechanism for all iOS push-triggered syncs. A single expired certificate breaks push sync for your entire iOS fleet. Check its expiry under Tenant Administration > Connectors and tokens > Apple MDM Push certificate and renew annually before expiry.

  3. Leverage Conditional Access for compliance re-checks

    Conditional Access policies trigger a compliance re-evaluation when a device attempts to access a protected resource. This effectively forces a sync and is the recommended architecture for high-security environments that need near-real-time compliance enforcement on iOS.

  4. Train users on Company Portal sync

    The Intune Company Portal app for iOS has a manual sync button under the device details screen. Document this for self-remediation workflows — particularly useful when a user needs to quickly resolve a compliance block.

Android Enterprise — Sync Mechanics Corrected

Android Enterprise devices use Google Firebase Cloud Messaging (FCM) as the push transport. The Intune DPC agent receives FCM messages from Intune and acts on commands. Background check-in occurs via the DPC agent on its own schedule.

⛔ Compliance Rule Density Myth Some guides claim that enabling 4+ compliance rules automatically sets Android sync to a 10-minute interval. This is not documented by Microsoft and does not reflect actual Android MDM behavior. There is no Intune UI setting to configure a specific numeric MDM check-in interval for Android. Compliance rule density affects how the device evaluates compliance state — not the underlying DPC agent check-in schedule.
  1. Force sync from the console

    Devices > All Devices > select Android device > Remote Actions > Sync. This sends an FCM push to wake the device and initiate check-in. Expect a 1–10 minute response time depending on FCM delivery.

  2. Verify FCM connectivity

    FCM requires outbound access to Google's infrastructure. Enterprise environments with strict egress rules may block FCM (TCP ports 5228–5230, hosts *.googleapis.com, *.firebase.google.com). Confirm these endpoints are reachable from device networks.

  3. Use compliance policies to drive behavior

    A well-configured compliance policy ensures the device re-evaluates its state at each check-in. Non-compliant devices are evaluated more frequently by Intune's grace-period logic. Configure a compliance grace period to control how quickly non-compliant devices escalate to access block.

  4. Monitor via Graph API

    Android devices that haven't synced in 24+ hours warrant investigation. Query lastSyncDateTime via Graph API (see section below) to identify stale devices and trigger forced syncs programmatically.

Windows 10/11 — Configuring Polling Interval Corrected

Windows is the only platform with granular, documented, numeric control of the MDM polling interval. This is done via the DMClient CSP deployed as a Custom OMA-URI configuration profile.

⛔ Critical Unit Error in Common Guides DMClient CSP polling interval values are in minutes. A value of 10 means 10 minutes. Some guides write "Value: 600 // 600 seconds = 10 minutes" — this is incorrect. Setting 600 would mean 600 minutes (10 hours), producing the opposite of the intended effect.
  1. Create a Custom OMA-URI Configuration Profile

    Navigate to Devices > Windows > Configuration > Create > New policy. Choose platform Windows 10 and later, profile type Custom.

  2. Add DMClient polling OMA-URI settings

    The DMClient CSP polling model uses multiple retry tiers. For a sustained 10-minute interval, configure these settings (all values are in minutes, ProviderID in Intune is MS DM Server):

    // Tier 1: First retry set
    Name:     Poll-FirstInterval
    OMA-URI:  ./Device/Vendor/MSFT/DMClient/Provider/MS DM Server/Poll/IntervalForFirstSetOfRetries
    Type:     Integer
    Value:    10   // 10 MINUTES (not seconds)
    
    Name:     Poll-FirstCount
    OMA-URI:  ./Device/Vendor/MSFT/DMClient/Provider/MS DM Server/Poll/NumberOfFirstRetries
    Type:     Integer
    Value:    0    // 0 = unlimited retries at this tier
    
    // Sustained interval (after initial tier exhausted)
    Name:     Poll-SustainedInterval
    OMA-URI:  ./Device/Vendor/MSFT/DMClient/Provider/MS DM Server/Poll/IntervalForRemainingScheduledRetries
    Type:     Integer
    Value:    10   // 10 MINUTES — the sustained polling frequency
  3. Assign to pilot group and verify

    Assign to a small Windows device security group first. Force a sync on a test device (Settings > Accounts > Access work or school > Info > Sync). Verify the new interval is active via Event Viewer > Applications and Services Logs > Microsoft > Windows > DeviceManagement-Enterprise-Diagnostics-Provider (Event ID 208 = successful sync).

⛔ Registry Warning Never manually edit HKLM\SOFTWARE\Microsoft\Provisioning\OMADM\ or related MDM keys. Always use the OMA-URI Configuration Profile path. Manual edits are overwritten on next policy refresh and can leave the device in an inconsistent enrollment state.

macOS — Sync Mechanics Corrected

macOS MDM is identical in architecture to iOS — it uses Apple's MDM protocol with APNs push notifications. macOS does not support OMA-URI (a Windows-only standard). Creating an OMA-URI profile for macOS in Intune will deploy successfully but have zero effect on sync behavior.

macOS enrolled devices check in with the Intune MDM server approximately every 1 hour. APNs push can trigger an immediate check-in when Intune sends a command.

  1. Force sync from console

    Select the macOS device in Devices > All Devices and choose Remote Actions > Sync. Intune sends an APNs push; the device typically responds within minutes.

  2. Validate APNs certificate

    The same Apple MDM Push certificate covers both iOS and macOS. One expired certificate = broken push sync for your entire Apple fleet. Review Tenant Administration > Connectors and tokens > Apple MDM Push certificate regularly.

  3. Troubleshoot on-device with mdmclient

    If a macOS device is not syncing, validate MDM enrollment state via Terminal:

    sudo /usr/libexec/mdmclient QueryDeviceInformation   // confirm enrollment
    log show --predicate 'subsystem == "com.apple.mdmclient"' --last 1h  // recent MDM activity

    SSL/TLS errors in the MDM log indicate a system clock mismatch — verify the device time is NTP-synced.

Windows 11 Config Refresh — Policy Re-Enforcement Win 11 Only

Config Refresh is a Windows 11 feature that is frequently (and incorrectly) described as an MDM sync interval setting. The screenshot below shows it in action — here's exactly what it does and doesn't do.

Intune Settings Catalog — Config Refresh policy showing Refresh cadence set to 30 minutes and Config refresh toggle enabled
Intune Settings Catalog — "MSE-Config Refresh" profile, Config Refresh category. Refresh cadence: 30 minutes, Config refresh: Enabled. This is a Windows 11 22H2+ feature that re-enforces already-downloaded CSP settings at the set interval. It does not change the MDM check-in frequency or update lastSyncDateTime.

Config Refresh re-applies existing, already-downloaded CSP policies at the configured interval — even without internet connectivity. If a local admin or script tampers with a managed setting between sync cycles, Config Refresh reverts it back. This is distinct from MDM sync, which downloads and applies new or updated policies from Intune.

FeatureDMClient Polling IntervalConfig Refresh
PurposeMDM check-in, download new policiesRe-apply existing local policies
Requires internet?YesNo
Downloads new policies?YesNo
Updates lastSyncDateTime?YesNo
PlatformWindows 10/11Windows 11 22H2+ (KB5031455) only
Minimum interval1 minute (DMClient CSP)30 minutes
Configured viaCustom OMA-URI (DMClient CSP)Settings Catalog — Config Refresh
  1. Create a Settings Catalog profile

    Go to Devices > Windows > Configuration > Create > New policy. Choose platform Windows 10 and later, profile type Settings catalog.

  2. Add Config Refresh settings

    Click + Add settings and search for "Config Refresh". Add both settings from the Config Refresh category:

    Config refresh:    Enabled
    Refresh cadence:  30   // minimum = 30 min; options: 30, 60, 90, 120
  3. Assign to Windows 11 devices and monitor

    Assign to a Windows 11 device group. On Windows 10 or Windows 11 versions prior to 22H2 (KB5031455), the profile is received but the setting has no effect. Verify OS version targeting to avoid false confidence.

💡 Use Both Together for Maximum Enforcement For Windows 11 fleets, deploy both a DMClient polling interval profile (frequent cloud sync) and a Config Refresh profile (local re-enforcement between syncs). They complement each other: DMClient keeps policies current with Intune; Config Refresh prevents tampering between sync windows.

Forcing an Immediate Sync

Regardless of configured intervals, you can trigger an immediate sync from the Intune console:

PlatformConsole PathMechanism
iOS / iPadOSDevice > Remote Actions > SyncAPNs push notification
AndroidDevice > Remote Actions > SyncFCM push notification
WindowsDevice > Remote Actions > Sync — or — Settings > Accounts > Access work or school > Info > SyncDirect MDM trigger / user-initiated
macOSDevice > Remote Actions > SyncAPNs push notification

Via Microsoft Graph API:

POST https://graph.microsoft.com/v1.0/deviceManagement/managedDevices/{deviceId}/syncDevice

// No body required — returns 204 No Content on success

Monitoring Sync Status with Microsoft Graph

Query the last sync time and compliance state for any device via the Graph API:

GET https://graph.microsoft.com/v1.0/deviceManagement/managedDevices/{deviceId}

// Key response fields:
"lastSyncDateTime":           "2026-05-08T14:32:15Z",
"complianceState":            "compliant",
"managementAgent":            "mdm",
"deviceRegistrationState":    "registered",
"operatingSystem":            "Windows"

Get all devices with selected fields in a single call:

GET https://graph.microsoft.com/v1.0/deviceManagement/managedDevices?$select=id,deviceName,lastSyncDateTime,complianceState,osVersion,operatingSystem

PowerShell report — devices not synced in the last 30 minutes:

$threshold = [datetime]::UtcNow.AddMinutes(-30)
$uri = "https://graph.microsoft.com/v1.0/deviceManagement/managedDevices?`$select=id,deviceName,lastSyncDateTime,complianceState,operatingSystem"

$devices = Invoke-MgGraphRequest -Uri $uri -Method GET

$stale = $devices.Value | Where-Object {
    [datetime]$_.lastSyncDateTime -lt $threshold
}

$stale | Select-Object deviceName, operatingSystem, lastSyncDateTime, complianceState |
         Sort-Object lastSyncDateTime

What Can Go Wrong: Sync Failures and Troubleshooting

COMMON SYNC FAILURE MODES ❌ No Network Device offline WiFi/LTE disabled Airplane mode on IMPACT: UNTIL ONLINE ❌ Expired APNs/FCM Apple cert expired iOS/macOS push broken FCM blocked by firewall IMPACT: ALL APPLE DEVICES ❌ Network Block Firewall blocks cloud Proxy intercepts MDM VPN breaks connectivity IMPACT: ENVIRONMENT-WIDE ❌ Clock Skew Device clock wrong Cert validation fails TLS handshake fails IMPACT: PERMANENT UNTIL FIXED DETECTION — GRAPH API Query for stale devices: GET /managedDevices?$filter= lastSyncDateTime lt 2026-05-08T14:00:00Z If deviceRegistrationState ≠ "registered" → re-enroll If managementState = "retirePending" → enrollment issue Also check: complianceState, lastSyncDateTime delta DETECTION — ON-DEVICE LOGS Windows: Event Viewer DeviceManagement-Enterprise-Diagnostics Event ID 208 = sync OK, 454 = sync failed macOS: Terminal log show --predicate 'subsystem == "com.apple.mdmclient"' --last 1h QUICK FIXES — TRY IN ORDER 1. Verify network connectivity (device must reach *.manage.microsoft.com) 2. Check APNs/FCM cert validity (Apple platforms) or FCM firewall rules (Android) 3. Force sync from Intune console (Remote Actions > Sync) 4. Verify device enrollment state in Graph API (deviceRegistrationState = "registered") 5. Check device system clock — TLS failures are often caused by time skew >5 minutes
The four major causes of sync failure, how to detect them, and the recommended fix sequence. APNs/FCM certificate expiry is particularly dangerous as it silently breaks push-triggered sync for all Apple or Android devices.
⚠️ Sync Interval Variance is Normal Intune intentionally adds randomized jitter to sync timing to avoid all devices checking in simultaneously ("thundering herd" effect). If you configure a 10-minute Windows polling interval, the actual interval will vary by a few minutes in either direction. A device that hasn't synced in 15–20 minutes is not necessarily broken. Investigate at 30+ minutes of no sync.

Production Checklist Before Deploying Aggressive Sync

RequirementValidationDone?
Pilot group defined50–100 devices with good network and battery health
APNs cert valid (Apple)Check expiry under Tenant Admin > Connectors and tokens
FCM endpoints reachable (Android)*.googleapis.com, *.firebase.google.com ports 5228–5230
Network capacity verifiedFirewall/proxy not rate-limiting sync traffic to *.manage.microsoft.com
DMClient unit verified (Windows)Confirm OMA-URI values are in MINUTES, not seconds
Monitoring alert configuredAlert when lastSyncDateTime > 30 minutes stale in Graph API
Rollback plan documentedCan revert DMClient polling profile in <5 minutes via policy change
Help desk trainedSupport team knows sync behavior, APNs/FCM dependency, and console sync action

Graph API Automation — Force Sync on Stale Devices

// Find devices not synced in 30+ minutes and force a sync
Connect-MgGraph -Scopes "DeviceManagementManagedDevices.ReadWrite.All"

$threshold = [datetime]::UtcNow.AddMinutes(-30).ToUniversalTime().ToString("o")
$uri = "https://graph.microsoft.com/v1.0/deviceManagement/managedDevices?`$filter=lastSyncDateTime lt $threshold&`$select=id,deviceName,lastSyncDateTime,operatingSystem"

$staleDevices = (Invoke-MgGraphRequest -Uri $uri -Method GET).Value

foreach ($device in $staleDevices) {
    Write-Host "Syncing: $($device.deviceName) [$($device.operatingSystem)] — last sync: $($device.lastSyncDateTime)"

    $syncUri = "https://graph.microsoft.com/v1.0/deviceManagement/managedDevices/$($device.id)/syncDevice"
    Invoke-MgGraphRequest -Uri $syncUri -Method POST
    
    Start-Sleep -Milliseconds 200  // throttle to avoid Graph rate limits
}

Write-Host "Triggered sync for $($staleDevices.Count) device(s)"

Key Takeaways

  • Sync is pull, not push: Devices request updates on a schedule. APNs/FCM push can wake devices immediately for urgent commands, but routine sync is always device-initiated.
  • Only Windows is directly configurable: iOS, macOS, and Android use Apple/Google-controlled protocols. There is no supported OMA-URI to override check-in frequency on Apple platforms.
  • Windows DMClient values are in minutes: Setting IntervalForRemainingScheduledRetries to 10 means 10 minutes. Setting it to 600 means 600 minutes (10 hours).
  • Config Refresh ≠ MDM sync: Config Refresh (Windows 11 22H2+ only) re-applies already-downloaded policies locally. It does not trigger a cloud check-in or update lastSyncDateTime. Deploy it alongside DMClient polling, not instead of it.
  • APNs certificate is critical: One expired Apple MDM Push certificate breaks push-triggered sync for your entire iOS and macOS fleet. Monitor it proactively.
  • Verify via Graph API: Don't rely on the console alone. Use lastSyncDateTime and complianceState from Microsoft Graph to build monitoring dashboards and automated remediation.
  • Clock skew is the silent killer: TLS failures caused by device clock drift can prevent sync entirely. Ensure NTP is configured and reachable on all managed networks.
✓ Ready to Deploy You now have platform-accurate sync architecture knowledge, corrected OMA-URI configurations for Windows, and a clear understanding of Config Refresh as a complementary (not alternative) enforcement tool. Test in your pilot group, validate via Graph API, monitor APNs/FCM health, and maintain a documented rollback path before fleet-wide deployment.

Was this article helpful?

🎓 Ready to go deeper?

Practice real MD-102 exam questions, get AI feedback on your weak areas, and fast-track your Intune certification.

Start Free Practice → Book a Session
Souhaiel Morhag
Souhaiel Morhag
Microsoft Endpoint & Modern Workplace Engineer

Souhaiel Morhag is a Microsoft Intune and endpoint management specialist with hands-on experience deploying and securing enterprise environments across Microsoft 365. He founded MSEndpoint.com to share practical, real-world guides for IT admins navigating Microsoft technologies — and built the MSEndpoint Academy at app.msendpoint.com/academy, a dedicated learning platform for professionals preparing for the MD-102 (Microsoft 365 Endpoint Administrator) certification. Through in-depth articles and AI-powered practice exams, Souhaiel helps IT teams move faster and certify with confidence.

Related Articles

Popular on MSEndpoint