IntuneHow-to

Delivery Optimization and Connected Cache with Intune: settings, peering and verification

Configure Delivery Optimization and Microsoft Connected Cache with Intune for Win32 apps and Windows updates, pick the right download mode and group ID, and prove where content came from.

Intune-managed Windows devices download Win32 apps and Windows updates through Delivery Optimization whether you configure it or not, and Microsoft 365 Apps can use it too. Configured well, devices share content with each other and with a local Microsoft Connected Cache node instead of each pulling the same large package over a slow link. In this post I'll set up the Intune policy, add Connected Cache, and show how to prove where each byte came from.

How this guide is organized: How it works → Prerequisites → Step-by-step → Verify → Tips & gotchasFlow diagram of the article's sections in reading order: 1. How it works. 2. Prerequisites. 3. Step-by-step (3 steps: Create the Delivery Optimization policy; Set the Win32 app priority; Deploy Microsoft Connected Cache for Enterprise and Education). 4. Verify. 5. Tips & gotchas. Toolbox: 0x87D30065, Set-DODownloadMode, Get-DeliveryOptimizationLog, Get-DOConfig, Configuration › Create.1How it works2Prerequisites3Step-by-step4Verify5Tips & gotchas1Create the DeliveryOptimization policy2Set the Win32 apppriority3Deploy MicrosoftConnected Cache for En…TOOLBOX0x87D30065Set-DODownloadModeGet-DeliveryOptimizationLogGet-DOConfigConfiguration › CreateHow this guide is organized: How it works → Prerequisites → Step-by-step → Verify → Tips & gotchasFlow diagram of the article's sections in reading order: 1. How it works. 2. Prerequisites. 3. Step-by-step (3 steps: Create the Delivery Optimization policy; Set the Win32 app priority; Deploy Microsoft Connected Cache for Enterprise and Education). 4. Verify. 5. Tips & gotchas. Toolbox: 0x87D30065, Set-DODownloadMode, Get-DeliveryOptimizationLog, Get-DOConfig, Configuration › Create.1How it works2Prerequisites3Step-by-step1Create the Delivery Optimization policy2Set the Win32 app priority3Deploy Microsoft Connected Cache forEnterprise and Education4Verify5Tips & gotchasTOOLBOX0x87D30065Set-DODownloadModeGet-DeliveryOptimizationLogGet-DOConfigConfiguration › Create
At a glance: how this guide is organized · 3 steps · 5 key settings and tools

How it works#

Where Delivery Optimization gets each piece of a downloadMicrosoft cloud: DO cloud service, Microsoft CDN. Your network: Peer devices, Windows device, Connected Cache node. Connections: 1. Windows device → DO cloud service: Asks which peers have the file. 2. Peer devices ↔ Windows device: Pieces from their DO cache over TCP 7680. 3. Windows device → Connected Cache node: Requests content from the node set in DOCacheHost. 4. Connected Cache node → Microsoft CDN: Fills itself from the CDN. 5. Windows device → Microsoft CDN: HTTP fallback, after any configured HTTP delay.MICROSOFT CLOUDDO cloud serviceKnows which peers have the fileMicrosoft CDNHTTP source, always available as a fallbackYOUR NETWORKPeer devicesSame LAN or same group, by download modeWindows deviceWin32 apps, Windows updates, Microsoft 365 AppsConnected Cache nodeHosted by you, one node per site12345CONNECTIONS1Windows device → DO cloud service: Asks which peers have the file2Peer devices ↔ Windows device: Pieces from their DO cache over TCP 76803Windows device → Connected Cache node: Requests content from the node set in DOCacheHost4Connected Cache node → Microsoft CDN: Fills itself from the CDN5Windows device → Microsoft CDN: HTTP fallback, after any configured HTTP delayWhere Delivery Optimization gets each piece of a downloadMicrosoft cloud: DO cloud service, Microsoft CDN. Your network: Peer devices, Windows device, Connected Cache node. Connections: 1. Windows device → DO cloud service: Asks which peers have the file. 2. Peer devices ↔ Windows device: Pieces from their DO cache over TCP 7680. 3. Windows device → Connected Cache node: Requests content from the node set in DOCacheHost. 4. Connected Cache node → Microsoft CDN: Fills itself from the CDN. 5. Windows device → Microsoft CDN: HTTP fallback, after any configured HTTP delay.MICROSOFT CLOUDDO cloud serviceKnows which peers have the fileMicrosoft CDNHTTP source, always available as a fallbackYOUR NETWORKPeer devicesSame LAN or same group, by download modeWindows deviceWin32 apps, Windows updates, Microsoft 365 AppsConnected Cache nodeHosted by you, one node per siteCONNECTIONS1Windows device → DO cloud service: Asks whichpeers have the file2Peer devices ↔ Windows device: Pieces from theirDO cache over TCP 76803Windows device → Connected Cache node:Requests content from the node set inDOCacheHost4Connected Cache node → Microsoft CDN: Fills itselffrom the CDN5Windows device → Microsoft CDN: HTTP fallback,after any configured HTTP delay
Figure 1 · Architecture Where Delivery Optimization gets each piece of a download. The device asks the DO cloud service which peers have the file, then takes pieces from peers, your Connected Cache node or the CDN as the fallback.

Delivery Optimization (DO) asks Microsoft's DO cloud service which peers have the file, then downloads pieces of the file from three kinds of source:

  • HTTP: the Microsoft content delivery network (CDN), always available as a fallback.
  • Peers: other Windows devices with the file in their DO cache, on the same LAN or in the same group, depending on the download mode.
  • A cache server: a Microsoft Connected Cache node that you host. Devices request content from it, it fills itself from the CDN, and devices fall back to the CDN if it's unavailable.

Win32 apps from Intune use this pipeline, and so do Windows feature and quality updates, Microsoft 365 Apps, Store apps and Defender definition updates.

Prerequisites#

  • Peers must reach each other on TCP 7680, the port DO listens on; check host firewalls and any client isolation on Wi-Fi.
  • Devices need the default peering thresholds or lower ones: at least 4 GB of RAM and a 32 GB disk unless you change DOMinRAMAllowedToPeer and DOMinDiskSizeAllowedToPeer.
  • For Connected Cache: an Azure subscription to create the resource, and a host. Microsoft positions a Windows 11 device for branch offices of roughly 10 to 50 devices, and Windows Server 2022 or later or Ubuntu 24.04 for larger sites. On Windows the cache runs in Windows Subsystem for Linux under a group managed service account, a local user or a domain user.

Step-by-step#

1. Create the Delivery Optimization policy#

The original Delivery Optimization template was replaced on 24 April 2025 by one in the settings catalog format. Create a settings catalog profile (Devices › Configuration › Create, platform Windows) and add settings from the Delivery Optimization category:

Setting (CSP)Recommended starting pointWhy
DODownloadModeHTTP blended with peering across a private group (2)Peers across NAT boundaries inside your group; 1 limits peers to the same NAT, 0 disables peering, 99 also skips the DO cloud service
DOGroupIdSource / DOGroupIdAD site for hybrid estates, or a custom GUID per locationIf neither is set, DO uses the AD site, then the authenticated domain SID, then the Microsoft Entra tenant ID
DORestrictPeerSelectionBySubnet, where groups span slow WAN linksKeeps peering local inside a large group
DOAllowVPNPeerCachingLeave off unless you want VPN users to peerPeering on VPN is off by default; DOVpnKeywords helps DO recognize your VPN adapter
Delay background / foreground download from HTTPA few minutes in offices; 0 for Autopilot provisioningGives peers and the cache a head start before the CDN

Assign it to device groups, and avoid setting the same DO values through Group Policy as well. Security baselines need a check too: Microsoft notes that their firewall defaults might not merge local rules with MDM rules, and advises validating them before you assign a baseline to devices that use Delivery Optimization.

2. Set the Win32 app priority#

In each Win32 app assignment, Delivery optimization priority decides whether the content downloads in the background (the default) or the foreground. Use foreground for required apps users wait on, such as those in the Enrollment Status Page, and keep background for large optional apps.

3. Deploy Microsoft Connected Cache for Enterprise and Education#

  1. In the Azure portal (or Azure CLI), create the Connected Cache resource and a cache node for each site.
  2. Download the node's deployment package (a Windows application, or bash scripts for Linux) and run it on the host. The cache container is deployed through Azure IoT Edge and starts reporting status once it's running.
  3. Point clients at the node with the DOCacheHost setting in your Intune DO policy, using the node's FQDN or IP address. A custom DHCP option or a registry value can deliver the same setting.
  4. If the cache must win over the CDN, set the cache server fallback delays for foreground and background downloads so devices don't fall back immediately.

Tip: For Autopilot provisioning centers, Microsoft recommends Connected Cache as the persistent source because devices being provisioned are short-lived peers. Set the foreground HTTP delay to 0 seconds and the background one to 0 or a low value, so the Enrollment Status Page doesn't wait on peers, and test with a realistic batch of devices first.

Verify#

First confirm the policy landed. Get-DOConfig -Verbose lists every DO setting with its provider, so you can tell MDM values from defaults:

PowerShell
Get-DOConfig -Verbose
Get-DODownloadMode
Get-DeliveryOptimizationStatus |
    Format-Table FileId, PredefinedCallerApplication, Priority, Status, FileSize,
                 BytesFromPeers, BytesFromCacheServer, BytesFromHttp, CacheHost -AutoSize

Good looks like this: DownloadMode shows your value with DownloadModeProvider set to the MDM provider, and recent large files show bytes from peers or the cache server. Note that BytesFromHttp counts all HTTP sources, including the cache server, so compare it with BytesFromCacheServer rather than reading it as CDN traffic. CacheHost shows the cache server's IP address.

PowerShell
Get-DeliveryOptimizationStatus -PeerInfo | Format-Table IP, PeerType, ConnectionEstablished, BytesReceived
Get-DeliveryOptimizationPerfSnapThisMonth

-PeerInfo lists candidate peers per file and whether a connection was made; potential peers that never connect often point to a blocked port 7680. The performance snapshot for the month shows totals and connection counts to Connected Cache servers, CDN servers and peers. For the estate view, the Delivery Optimization report in Windows Update for Business reports covers the past 28 days, and the Azure portal shows usage per cache node.

Tips & gotchas#

  • Local changes don't stick. Set-DODownloadMode and the other Set-DO* cmdlets are handy for tests, but MDM or Group Policy overrides them at the next refresh.
  • Small files don't peer. Files below the minimum size for caching always come over HTTP, so test with a large app or update.
  • Group mode includes the LAN. Bytes from peers on the same LAN are counted as LAN peers even in group mode.
  • Bandwidth caps. By default, DO uses up to 90% of available bandwidth for foreground downloads and 45% for background downloads.
  • Read the logs when it stalls. Get-DeliveryOptimizationLog needs an elevated session. App-side failures such as 0x87D30065 are covered in Win32 app download and install errors.
  • Co-managed estates. Connected Cache on a Configuration Manager distribution point is compared with peer cache and BranchCache in peer cache vs BranchCache vs Delivery Optimization.

References#

Written and checked against current Microsoft Learn documentation. Test changes with a pilot group before rolling them out to everyone, and if an admin center path has moved since, search for the setting name instead.

Spotted a mistake, or did this fix work differently for you? Email me or message me on LinkedIn — corrections are credited in the article.

Written by

Omer Eltayeb

Intune Subject Matter Expert in Cairo, Egypt, former Microsoft Cloud Solutions Architect, Microsoft Certified Trainer and Microsoft Innovative Educator Expert (2024–26) and Microsoft Elevate Educator Expert (2026–27). I share practical, step-by-step guides, study plans, scripts and toolkits for Microsoft Intune, Configuration Manager, Microsoft Entra ID, Microsoft Defender, Exchange and Microsoft 365 with the community.

Microsoft Certified Trainer (MCT) 2026Microsoft Innovative Educator Expert 2025–2026Microsoft Elevate Educator Expert 2026–2027ISC2 Certified Information Systems Security Professional (CISSP)Microsoft 365 Certified: Enterprise Administrator Expert (MS-102)