{"id":1935,"date":"2025-03-11T08:30:00","date_gmt":"2025-03-11T07:30:00","guid":{"rendered":"https:\/\/kasperjohansen.net\/?p=1935"},"modified":"2025-02-18T08:13:05","modified_gmt":"2025-02-18T07:13:05","slug":"configuring-microsoft-connected-cache","status":"publish","type":"post","link":"https:\/\/kasperjohansen.net\/index.php\/2025\/03\/11\/configuring-microsoft-connected-cache\/","title":{"rendered":"Configuring Microsoft Connected Cache"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Microsoft Connected Cache is a software caching solution created to easy the migration away from Config Manager to Intune. Connected Cache will create a local (on-prem) cache of Windows Updates and Win32 applications and using the Delivery Optimization feature, we can instruct Windows devices to download Windows Update and Intune content from the Connected Cache node instead of reaching out to our Intune tenant. This is useful in branch offices or the main HQ site if there is a limited bandwidth available.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Microsoft Connected Cache is currently in preview, which means that it&#8217;s currently a free solution. Be aware that Microsoft will probably make this a paid service once it&#8217;s no longer in preview.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Microsoft Connected Cache (MCC) is configured, managed and monitored in Microsoft Azure with local caching nodes ideally close to your Windows devices. These Microsoft Connected Caching nodes can be Windows 11 or Windows Server 2022 or later devices and because the MCC node agent\/software is based on Linux code, Windows Subsystem for Linux is required in Windows. The MCC node can also run on native Linux hosts, currently Ubuntu 22.04 and Red Hat Enterprise Linux 8.x and 9.x are supporter.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/kasperjohansen.net\/index.php\/2025\/03\/11\/configuring-microsoft-connected-cache\/#Microsoft_Connected_Cache_requirements\" >Microsoft Connected Cache requirements<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/kasperjohansen.net\/index.php\/2025\/03\/11\/configuring-microsoft-connected-cache\/#Licensing\" >Licensing<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/kasperjohansen.net\/index.php\/2025\/03\/11\/configuring-microsoft-connected-cache\/#Hardware\" >Hardware<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/kasperjohansen.net\/index.php\/2025\/03\/11\/configuring-microsoft-connected-cache\/#Operating_System\" >Operating System<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/kasperjohansen.net\/index.php\/2025\/03\/11\/configuring-microsoft-connected-cache\/#Windows\" >Windows<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/kasperjohansen.net\/index.php\/2025\/03\/11\/configuring-microsoft-connected-cache\/#Linux\" >Linux<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/kasperjohansen.net\/index.php\/2025\/03\/11\/configuring-microsoft-connected-cache\/#Install_and_configure\" >Install and configure<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/kasperjohansen.net\/index.php\/2025\/03\/11\/configuring-microsoft-connected-cache\/#Configure_the_MCC_resource\" >Configure the MCC resource<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/kasperjohansen.net\/index.php\/2025\/03\/11\/configuring-microsoft-connected-cache\/#Configure_the_MCC_Cache_Node\" >Configure the MCC Cache Node<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/kasperjohansen.net\/index.php\/2025\/03\/11\/configuring-microsoft-connected-cache\/#Configure_the_virtual_machine_in_Hyper-V\" >Configure the virtual machine in Hyper-V<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/kasperjohansen.net\/index.php\/2025\/03\/11\/configuring-microsoft-connected-cache\/#Create_local_Windows_account\" >Create local Windows account<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/kasperjohansen.net\/index.php\/2025\/03\/11\/configuring-microsoft-connected-cache\/#Enable_Windows_Subsystem_for_Linux\" >Enable Windows Subsystem for Linux<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/kasperjohansen.net\/index.php\/2025\/03\/11\/configuring-microsoft-connected-cache\/#Install_the_MCC_Cache_node_software\" >Install the MCC Cache node software<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/kasperjohansen.net\/index.php\/2025\/03\/11\/configuring-microsoft-connected-cache\/#Verify_that_the_MCC_Cache_Node_is_working\" >Verify that the MCC Cache Node is working<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/kasperjohansen.net\/index.php\/2025\/03\/11\/configuring-microsoft-connected-cache\/#Configure_the_MCC_Cache_node_information_in_Microsoft_Intune\" >Configure the MCC Cache node information in Microsoft Intune<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/kasperjohansen.net\/index.php\/2025\/03\/11\/configuring-microsoft-connected-cache\/#Verify_the_Delivery_Optimization_MCC_Cache_node_information\" >Verify the Delivery Optimization MCC Cache node information<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Microsoft_Connected_Cache_requirements\"><\/span>Microsoft Connected Cache requirements<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">As Microsoft Connected Cache is currently in preview, the requirements listed below may change, make sure to stay up to date with any changes. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Licensing\"><\/span>Licensing<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A valid Microsoft Azure subscription<\/li>\n\n\n\n<li>Microsoft 365 E3\/E5 or A3\/A5 for each device downloading content from the MCC node(s).<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Hardware\"><\/span>Hardware<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Recommended at least 4 CPU, 8 GB RAM, 100 GB free disk storage and 1 Gbit NIC<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Operating_System\"><\/span>Operating System<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<h5 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Windows\"><\/span>Windows<span class=\"ez-toc-section-end\"><\/span><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Windows 11 23H2 or later<\/li>\n\n\n\n<li>Windows Server 2022 or later<\/li>\n\n\n\n<li>Windows Subsystem for Linux <\/li>\n\n\n\n<li>Host machine must support nested virtualization<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Linux\"><\/span>Linux<span class=\"ez-toc-section-end\"><\/span><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ubuntu 22.04<\/li>\n\n\n\n<li>Red Hat Linux Enterprise 8.x or 9.x\n<ul class=\"wp-block-list\">\n<li>Default container must be replaced by Moby<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Microsoft has a great article covering licensing and MCC Cache node requirements here &#8211; <a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/deployment\/do\/mcc-ent-prerequisites\">Microsoft Connected Cache for Enterprise and Education prerequisites | Microsoft Learn<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Install_and_configure\"><\/span>Install and configure<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">As mentioned, most of the configuration and management of Microsoft Connected Cache is in the <a href=\"https:\/\/portal.azure.com\/\">Microsoft Azure Portal<\/a>. I haven&#8217;t been able to find any information regarding RBAC yet, hopefully they will be added to the documentation soon. <br><strong>For the sake of this article, I am logged in with a user that has been assigned the global administrator and subscription owner roles.<\/strong><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Configure_the_MCC_resource\"><\/span>Configure the MCC resource<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The first thing to do is to create the MCC service. The MCC service is where you&#8217;ll configure and monitor Cache Nodes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Make a search for &#8220;Connected Cache&#8221; and select the Connected Cache for Enterprise and Education.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-01.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"147\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-01-1024x147.jpg\" alt=\"\" class=\"wp-image-1987\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-01-1024x147.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-01-300x43.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-01-768x110.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-01-1536x220.jpg 1536w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-01.jpg 1919w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Next, click create:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-02.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"340\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-02-1024x340.jpg\" alt=\"\" class=\"wp-image-1988\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-02-1024x340.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-02-300x100.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-02-768x255.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-02-1536x510.jpg 1536w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-02.jpg 1918w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This will start the &#8220;Create Connected Cache wizard.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Provide a valid Azure subscription, resource group, location and Connected Cache Resource name<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-03.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"498\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-03-1024x498.jpg\" alt=\"\" class=\"wp-image-1989\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-03-1024x498.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-03-300x146.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-03-768x373.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-03.jpg 1228w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Currently there are only 3 locations available &#8211; Europe, Asia Pacific (Korea Central) and US (West US)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Provide a tag if needed, otherwise click Review + Create<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-04.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"689\" height=\"500\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-04.jpg\" alt=\"\" class=\"wp-image-1990\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-04.jpg 689w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-04-300x218.jpg 300w\" sizes=\"auto, (max-width: 689px) 100vw, 689px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If the validation is successful, the MCC Resource deployment will start.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The deployment should not take more than a couple of minutes:<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-06.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"910\" height=\"469\" data-id=\"1992\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-06.jpg\" alt=\"\" class=\"wp-image-1992\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-06.jpg 910w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-06-300x155.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-06-768x396.jpg 768w\" sizes=\"auto, (max-width: 910px) 100vw, 910px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When the deployment is complete, click &#8220;Go to resource&#8221;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now that we have the MCC resource up and running it&#8217;s time to create the Cache Node.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In Cache Node Management, click Cache Nodes:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"691\" height=\"506\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-07.jpg\" alt=\"\" class=\"wp-image-1994\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-07.jpg 691w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-07-300x220.jpg 300w\" sizes=\"auto, (max-width: 691px) 100vw, 691px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Click Create Cache Node:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-08.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"701\" height=\"466\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-08.jpg\" alt=\"\" class=\"wp-image-1996\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-08.jpg 701w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-08-300x199.jpg 300w\" sizes=\"auto, (max-width: 701px) 100vw, 701px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Provide a Cache Node name. In this example I have provided the FQDN of the Windows Server and an operating system.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-09.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"879\" height=\"442\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-09.jpg\" alt=\"\" class=\"wp-image-1997\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-09.jpg 879w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-09-300x150.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-09-768x386.jpg 768w\" sizes=\"auto, (max-width: 879px) 100vw, 879px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Click Create<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-10.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"251\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-10-1024x251.jpg\" alt=\"\" class=\"wp-image-1999\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-10-1024x251.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-10-300x74.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-10-768x188.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-10-1536x376.jpg 1536w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-10.jpg 1918w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Click the Cache Node and configure the Cache drive size &#8211; <strong>This should be a minimum of 50 GB, otherwise the Cache Node deployment will fail.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-11.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"633\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-11-1024x633.jpg\" alt=\"\" class=\"wp-image-2001\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-11-1024x633.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-11-300x186.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-11-768x475.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-11.jpg 1232w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Click Provisioning<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-12-1.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"705\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-12-1-1024x705.jpg\" alt=\"\" class=\"wp-image-2002\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-12-1-1024x705.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-12-1-300x207.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-12-1-768x529.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-12-1.jpg 1227w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Select which type of user acount you want. In this case I have selected the Local User Account. However, in a production environment I would reccomend the <a href=\"https:\/\/learn.microsoft.com\/en-us\/windows-server\/identity\/ad-ds\/manage\/group-managed-service-accounts\/group-managed-service-accounts\/group-managed-service-accounts-overviewhttps:\/\/learn.microsoft.com\/en-us\/windows-server\/identity\/ad-ds\/manage\/group-managed-service-accounts\/group-managed-service-accounts\/group-managed-service-accounts-overview\">Group Managed Service Account (GMSA)<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Click Updates<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-13.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"595\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-13-1024x595.jpg\" alt=\"\" class=\"wp-image-2003\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-13-1024x595.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-13-300x174.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-13-768x446.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-13.jpg 1232w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Select which update channel you want to use and click Save.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Go back to the Provisioning tab<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-14-1.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"700\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-14-1-1024x700.jpg\" alt=\"\" class=\"wp-image-2005\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-14-1-1024x700.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-14-1-300x205.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-14-1-768x525.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/Azure-Portal-CCR-14-1.jpg 1230w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Download the provisioning package and copy the cache node provisioning command to the clipboard, you need it later.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Configure_the_MCC_Cache_Node\"><\/span>Configure the MCC Cache Node<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s recommended to have at least 2 MCC Cache nodes, for high availability. Microsoft will automatically keep the MCC Cache node software up-to-date, based on the <a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/deployment\/do\/mcc-ent-update-cache-node\">update configuration<\/a> selected earlier.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Configure_the_virtual_machine_in_Hyper-V\"><\/span>Configure the virtual machine in Hyper-V<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">If you plan to install the MCC Cache node software on a virtual machine, make sure to enable nested virtualization. There may be different procedures for how to enable this based on the hypervisor.<br>In this case I have created a virtual Windows Server 2022 Standard machine with 2 vCPUs, 8 GB RAM and 100 GB virtual hard disk, with <a href=\"https:\/\/learn.microsoft.com\/en-us\/virtualization\/hyper-v-on-windows\/user-guide\/nested-virtualization\">nested virtualization in a Hyper-V 2022 host machine<\/a>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To enable nested virtualization in Hyper-V, execute this command:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Set-VMProcessor -VMName SRVCCN01 -ExposeVirtualizationExtensions $true<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Adjust the VMName according to your environment.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Create_local_Windows_account\"><\/span>Create local Windows account<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">As mentioned, a Group Managed Service Account (gMSA) or a local Windows account is needed. In this example, I am using a local Windows account called <strong>localccnaccount<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/CCR-Node-01.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"407\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/CCR-Node-01-1024x407.jpg\" alt=\"\" class=\"wp-image-2012\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/CCR-Node-01-1024x407.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/CCR-Node-01-300x119.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/CCR-Node-01-768x306.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/CCR-Node-01.jpg 1214w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/deployment\/do\/mcc-ent-update-cache-node\">According to Microsoft<\/a> the local Windows account must be granted the &#8220;Log on as a batch job&#8221; security permission. <strong>I have found, that currently this is not working. The local Windows account must be a member of the local Administrators group<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Enable_Windows_Subsystem_for_Linux\"><\/span>Enable Windows Subsystem for Linux<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Launch a Powershell console as Administrator to install the Windows Subsystem for Linux (WSL) feature:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-01.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"847\" height=\"312\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-01.jpg\" alt=\"\" class=\"wp-image-2016\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-01.jpg 847w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-01-300x111.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-01-768x283.jpg 768w\" sizes=\"auto, (max-width: 847px) 100vw, 847px\" \/><\/a><\/figure>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">wsl --install<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This may take a few minutes and it will require a reboot.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-02.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"979\" height=\"514\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-02.jpg\" alt=\"\" class=\"wp-image-2018\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-02.jpg 979w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-02-300x158.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-02-768x403.jpg 768w\" sizes=\"auto, (max-width: 979px) 100vw, 979px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">When the Windows Server is up and running again, you&#8217;ll see Ubuntu is being downloaded and installed.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-03.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"980\" height=\"513\" data-id=\"2020\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-03.jpg\" alt=\"\" class=\"wp-image-2020\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-03.jpg 980w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-03-300x157.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-03-768x402.jpg 768w\" sizes=\"auto, (max-width: 980px) 100vw, 980px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-04.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"980\" height=\"515\" data-id=\"2021\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-04.jpg\" alt=\"\" class=\"wp-image-2021\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-04.jpg 980w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-04-300x158.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-04-768x404.jpg 768w\" sizes=\"auto, (max-width: 980px) 100vw, 980px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Create a local UNIX user, in this case the user <strong>localadmin<\/strong>. Also, configure as password for the local user.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-05.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"513\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-05.jpg\" alt=\"\" class=\"wp-image-2022\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-05.jpg 977w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-05-300x158.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-05-768x403.jpg 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You should see a message saying <strong>Installation successful!<\/strong> and the WSL feature is now running. Exit the UBUNTU instance.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Install_the_MCC_Cache_node_software\"><\/span>Install the MCC Cache node software<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Next step is to extract the MCC-WSL-Installer zip file and install the MCC Cache node software in WSL:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/CCR-Node-001.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"591\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/CCR-Node-001-1024x591.jpg\" alt=\"\" class=\"wp-image-2011\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/CCR-Node-001-1024x591.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/CCR-Node-001-300x173.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/CCR-Node-001-768x444.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/CCR-Node-001.jpg 1444w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This small piece of code will create Powershell variables with the local Windows account username and password information. This will be used with the provisioning command to configure the local Windows account as the MCC Cache node service account. Adjust according to your needs. If you are using a gMSA account the variable <strong>$myLocalAccountCredential<\/strong> and <strong>$Pass<\/strong> are not needed.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$User = \"$env:COMPUTERNAME\\localccnaccount\"\n$Pass = ConvertTo-SecureString 'Password1' -AsPlainText -Force\n$myLocalAccountCredential = [pscredential]::new($User,$Pass)<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Next, paste the provisioning command:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-07.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"301\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-07-1024x301.jpg\" alt=\"\" class=\"wp-image-2023\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-07-1024x301.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-07-300x88.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-07-768x225.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-07.jpg 1342w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You should now see the MCC Cache node software setup process:<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-08.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"619\" data-id=\"2026\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-08-1024x619.jpg\" alt=\"\" class=\"wp-image-2026\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-08-1024x619.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-08-300x181.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-08-768x464.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-08.jpg 1341w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-09.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"615\" data-id=\"2027\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-09-1024x615.jpg\" alt=\"\" class=\"wp-image-2027\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-09-1024x615.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-09-300x180.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-09-768x461.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-09.jpg 1343w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The setup process may take a few minutes to complete<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-10.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"616\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-10-1024x616.jpg\" alt=\"\" class=\"wp-image-2028\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-10-1024x616.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-10-300x180.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-10-768x462.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-10.jpg 1344w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You&#8217;ll receive a message when the setup is completed. Even though it&#8217;s not stated, I have experienced that a reboot is needed otherwise the MCC Cache Node might not connect with the MCC Cache Resource service in Azure.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Verify_that_the_MCC_Cache_Node_is_working\"><\/span>Verify that the MCC Cache Node is working<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">There are a couple of ways on the local Windows Server to verify that the MCC Cache node is working. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The first one is in File Explorer, you&#8217;ll see a Linux\/Ubuntu library and a VHDX file called ext4, this means that the WSL is configured and running:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-11.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"562\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-11-1024x562.jpg\" alt=\"\" class=\"wp-image-2031\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-11-1024x562.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-11-300x165.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-11-768x422.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-11.jpg 1441w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Next, using <strong>wget<\/strong> you can verify that the MCC Cache node is reachable:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-12.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"312\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-12-1024x312.jpg\" alt=\"\" class=\"wp-image-2032\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-12-1024x312.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-12-300x92.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-12-768x234.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-12.jpg 1344w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">wget http:\/\/localhost\/filestreamingservice\/files\/7bc846e0-af9c-49be-a03d-bb04428c9bb5\/Microsoft.png?cacheHostOrigin=dl.delivery.mp.microsoft.com<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">In the Azure Portal you should be able to verify that the status is healthy and the MCC Cache node software currently installed:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-13.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"226\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-13-1024x226.jpg\" alt=\"\" class=\"wp-image-2033\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-13-1024x226.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-13-300x66.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-13-768x169.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-13-1536x339.jpg 1536w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/01\/WSL-Install-13.jpg 1914w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Configure_the_MCC_Cache_node_information_in_Microsoft_Intune\"><\/span>Configure the MCC Cache node information in Microsoft Intune<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Using Intune, you can configure Delivery Optimization to get content from one or more MCC Cache nodes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Create a new configuration profile or edit an existing configuration profile, select the Settings Catalog and search for <strong>delivery optimization<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-001.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"857\" height=\"848\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-001.jpg\" alt=\"\" class=\"wp-image-2047\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-001.jpg 857w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-001-300x297.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-001-768x760.jpg 768w\" sizes=\"auto, (max-width: 857px) 100vw, 857px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Select the <strong>DO Cache Host<\/strong> setting<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-01.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"843\" height=\"374\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-01.jpg\" alt=\"\" class=\"wp-image-2048\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-01.jpg 843w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-01-300x133.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-01-768x341.jpg 768w\" sizes=\"auto, (max-width: 843px) 100vw, 843px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Type the FQDN or IP address of the MCC Cache node, in this case srvcnn01.johansen.local. When multiple FQDNs or IP addresses are configured the Windows device attempt connection in a round robin order, meaning that if the connection to the first MCC Cache Node in the list fails, the Windows device will attempt to connect to next MCC Cache node in the list. If the connection to all MCC Cache node in the list fails, the Windows device will fall back to the Microsoft Content Delivery Network (CDN).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/deployment\/do\/waas-delivery-optimization-reference#cache-server-hostname\" data-type=\"link\" data-id=\"https:\/\/learn.microsoft.com\/en-us\/windows\/deployment\/do\/waas-delivery-optimization-reference#cache-server-hostname\">The fallback behaviour<\/a> can be configured using either the <strong>DO Delay Cache Server Fallback Foreground<\/strong> or the <strong>DO Delay Cache Server Fallback Background<\/strong> policies:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-02.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"785\" height=\"258\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-02.jpg\" alt=\"\" class=\"wp-image-2050\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-02.jpg 785w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-02-300x99.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-02-768x252.jpg 768w\" sizes=\"auto, (max-width: 785px) 100vw, 785px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Verify_the_Delivery_Optimization_MCC_Cache_node_information\"><\/span>Verify the Delivery Optimization MCC Cache node information<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">So, how does this look on the Windows device? Launch a Powershell console and type this command:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Get-DeliveryOptimizationStatus<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You should see 1 or more MCC Cache node FQDNs or IP addresses:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-03.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"492\" src=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-03-1024x492.jpg\" alt=\"\" class=\"wp-image-2056\" srcset=\"https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-03-1024x492.jpg 1024w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-03-300x144.jpg 300w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-03-768x369.jpg 768w, https:\/\/kasperjohansen.net\/wp-content\/uploads\/2025\/02\/Intune-CCN-Config-03.jpg 1437w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This concludes the article. Feel free to reach out to me on\u00a0<a href=\"https:\/\/twitter.com\/KasperMJohansen\">X<\/a>\u00a0or on\u00a0<a href=\"https:\/\/www.linkedin.com\/in\/kaspermjohansen\/\">LinkedIn<\/a>\u00a0if you have any comments or questions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft Connected Cache is a software caching solution created to easy the migration away from Config Manager to Intune. Connected Cache will create a local (on-prem) cache of Windows Updates &#8230;<\/p>\n","protected":false},"author":2,"featured_media":2036,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,34,31],"tags":[],"class_list":["post-1935","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-intune","category-modern-management","category-windows"],"_links":{"self":[{"href":"https:\/\/kasperjohansen.net\/index.php\/wp-json\/wp\/v2\/posts\/1935","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kasperjohansen.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kasperjohansen.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kasperjohansen.net\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/kasperjohansen.net\/index.php\/wp-json\/wp\/v2\/comments?post=1935"}],"version-history":[{"count":15,"href":"https:\/\/kasperjohansen.net\/index.php\/wp-json\/wp\/v2\/posts\/1935\/revisions"}],"predecessor-version":[{"id":2062,"href":"https:\/\/kasperjohansen.net\/index.php\/wp-json\/wp\/v2\/posts\/1935\/revisions\/2062"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kasperjohansen.net\/index.php\/wp-json\/wp\/v2\/media\/2036"}],"wp:attachment":[{"href":"https:\/\/kasperjohansen.net\/index.php\/wp-json\/wp\/v2\/media?parent=1935"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kasperjohansen.net\/index.php\/wp-json\/wp\/v2\/categories?post=1935"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kasperjohansen.net\/index.php\/wp-json\/wp\/v2\/tags?post=1935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}