Setup Microsoft Connected Cache (MCC) for Windows Autopilot / Win32 App Deployments

Are you enrolling lots of machines into Windows Autopilot and want to speed up the process? Or, do you simply want to speed up application deployment from Intune? Well, Microsoft Connected Cache (MCC) is here to the rescue.

When it comes to MCC, at least for now, you have to use the on-premises version that requires ConfigMgr. But since that server setup can easily be deployed – fully automated – using my Hydration Kit. It's not really a big deal.

Why Microsoft Connected Cache?

When using Windows Autopilot to enroll machines into Microsoft Intune, you typically also want the machines to get a basic set of applications installed before the user is allowed to grab the device. Without a local cache available, either via Microsoft Connected Cache, or a bunch of Windows 10/11 clients available having the application content cached, you'll find it can take quite some time to get applications deployed. Definitely time for a comparison for deployment times with or without a local cache available.

Real World Note: MCC won't cache Intune content like Win32 apps until it's been requested at least three times, so don't be surprised if it does not start caching immediately 🙂

Our Scenario

For this test, all machines were on the same location/subnet, and were sharing a 45 mbit Internet connection. In Intune, I had created four applications in different size as Win32 apps. My Windows Autopilot Enrollment Status Page (ESP) was configured to not allow a user access to the device until they were fully deployed. The applications were the following:

  • Notepad++ (8 MB)
  • WinMerge (5 MB)
  • Adobe Reader DC (200 MB)
  • Office 365 as Win32 App (3.2 GB)

Note: If installing multiple apps in Windows Autopilot, make sure they are all Win32 apps (hence why I used a Win32 apps version of office 365). Mixing different applications types is not recommended.

The Enrollment Status Page used for this guide

Setup MCC

Configuring the MCC on the ConfigMgr side is easy. In your Distribution Settings, select the Enable this distribution point to be used as Microsoft Connected Cache server check box, allocate some disk space and you're done.

Setup MCC in ConfigMgr

Configuring the Windows Autopilot devices to use MCC

For the MMC testing, to make sure the clients were configured early in the process, I used DHCP scope options 234 (DOGroupID), and 235 (DOCacheHost). If that's not an option, you can also script in the values via a Win32 app that comes down early (you can use app dependencies to control the app order in the enrollment status page).

Note: For clients to use DHCP Scope Options 234 and 235 for Delivery Optimization settings, you must configure the Cache Server Hostname Source and Select the source of Group IDs policies, in either group policy or Intune policies. For more info see the Delivery Optimization reference.

To create these DHCP options, right-click your IPv4 node in DHCP Manager, and select Set Predefined Options. Then click Add, and use the following info. Repeat the same for option 235.

Name: DOGroupID
Data type: String
Code: 234

Name: DOCacheHost
Data type: String
Code: 235

Set Predefined Options
DHCP Options 234 and 235 configured.

Benchmark Time – No MCC Available

In the first test, I enrolled five Windows 11 machines into Windows Autopilot without MCC being available. For all five machines to enroll it took about 75 minutes over the 45 mbit connection.

When reviewing the Delivery Optimization data, it did show that most of the data came from Microsoft, but that the clients were able to share a little bit of DO traffic in between themselves. Since no MCC was configured the DownloadCacheHostBytes value was not surprisingly at zero bytes. As you can see in the screenshot from one of the machines, it downloaded 3179870291 bytes (3.0 GB) from Microsoft, and 676331520 bytes (0.6 GB) from local peers.

DO stats on one if the freshly deployed machines.

Benchmark Time – MCC Available

In the second test, I enrolled five other Windows 11 machines into Windows Autopilot with a ConfigMgr Site Server / Distribution point having MCC enabled. For all five machines to enroll it took about 25 minutes, so a bit over twice the speed compared to the test without having MCC available.

Sample from a client getting data from MCC (DownloadCacheHostBytes)

Monitoring MCC

Microsoft Connected cache provides some basic options for monitoring. Either via IIS Manager, or via PowerShell. Below is a PowerShell example on how to view the disk cache statistics:

$MCCServer = "dp01.corp.viamonstra.com"
$MCC = Invoke-RestMethod http://$($MCCServer):53000/summary
$MCC.LastCacheNodeHealthPingRequest
Stats from PowerShell

Below is an example of the monitoring in IIS Manager for one of the server farms responsible for Win32 apps from Microsoft Intune.

Monitoring one of the server farms for Win32 Apps
About the author

Johan Arwidmark

0 0 votes
Article Rating
Subscribe
Notify of
guest
4 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
Carmine
Carmine
6 months ago

How can I delete the old downloaded contents in the DOINC folder of the MCC Server ?

Adam
Adam
1 year ago

Can you provide the details on what you configured for DHCP scope options 234 (DOGroupID), and 235 (DOCacheHost)?


>