Modern Content Distribution: Microsoft Endpoint Manager and Connected Cache

This post has been republished via RSS; it originally appeared at: Premier Field Engineering articles.

Hello Everyone! I´m Stefan Röll, Premier Field Engineer (PFE) at Microsoft Germany for Microsoft Endpoint Manager. In this Blog Post I´d like to demonstrate how easy it is to get Microsoft Connected Cache and Delivery Optimization configured in your Configuration Manager Environment.

 

TL;DR

Installing Microsoft Connected Cache on your Distribution Points (DPs) and configuring Delivery Optimization (DO) on your clients, will give instant bandwidth savings for all DO downloads. It will help you to reduce the need of distributing packages to your DPs and instead levering modern download and caching capabilities.

 

 

Content Distribution in a modern world

For years ConfMgr Admins spent quite some time managing and monitoring Content Distribution to DPs and Clients. Right now, you have to pre-download content, distribute it to DPs and hope that the content is ready before clients trying to download it. As it is often unclear which updates and applications are required in which location, they are distributed to most or all DPs to be on the save side. Over the years your content library might became super large and the needed disk space on your DPs is growing and growing.

But when you install or update an App on your Phone today, do you know where it was downloaded from? Was it a full download or a delta download? You don´t care and you shouldn´t as the system handles that for you. With Delivery Optimization and Microsoft Connected Cache you can now install a configure-once-and-forget solution for all downloads that run over the Delivery Optimization Service.

In ConfigMgr 1910 this can finally be used for Windows updatesIn addition, Office 365 ProPlus recently added DO support for Office installations.

 

 

Configure your environment

The configuration required for DO and Connected cache is very simple and can be done in four simple steps:

 

Step 1: DO Configuration on Clients

To ensure that DO is working correctly on your clients, you can use the following Group Policy Settings to get started.

You will find the Delivery Optimization settings in Group Policy under Configuration\Policies\Administrative Templates\Windows Components\Delivery Optimization.

 

Please note that the settings above are not recommended settings for a production environment. But for test environments where your clients may have limited amount of RAM and disk space available, they are good to get started. All configurable DO settings can be found in the Delivery Optimization reference.

 

Step 2: ConfigMgr Client settings:

In ConfigMgr you have separate Client Settings for Delivery Optimization. The first one will set the DO GroupID accordingly to your Boundary Group configuration. This ensures that if Clients use the Peer-to-Peer function of DO, they will only try to download content from clients within their own Boundary Group.

The second setting will allow clients to download content from Connected Cache servers.

 

If you want to deploy Software Updates over DO, you need to enable delta download in the Software Updates section. Connected Cache is not yet supported for Windows Updates.

 

 

Step 3: Install Connected Cache Role on your Distribution Point

The setup of the Connected Cache Role is very simple. Just open the DP Properties and enable the Connected Cache checkbox:

 

You can monitor the installation on your DP in the SMS_DP$\Ms.Dsp.Do.Inc.Setup\DoincSetup.log and in the Distmgr.log on your Primary Site.

  

Step 4: (Optional) Check configuration on your Clients:

Once your Connected Cache Server is installed and clients received the new Client setting, you should check the following Registry Key on a Win10 machine:

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization

 

As you can see, the GPO is applied and the ConfigMgr Agent configured DOGroupId, DODownloadMode and DOCacheHost.

 

Deploy Windows updates using DO

To Deploy Windows Updates using DO just select “No deployment package” when you create your deployment. No need to download and distribute the updates to your DPs first.

 

On your Client machines you can use Get-DeliveryOptimizationStatus to see download statistics.

 

The first Client in your Boundary Group will download all Content from the internet:

 

 

The second Client in the same Boundary group can already download content from peers:

 

In the DeltaDownload.log you can see that DO has been used:

 

Please keep in mind that Connected Cache is not yet supported for Windows Updates when deployed over ConfigMgr.

 

 

Deploy Office 365 ProPlus using Connected Cache and DO

Using traditional deployment methods can be challenging for O365 ProPlus setups due to the large and frequent changing installation files.

But since Office Version 1912, you can leverage DO and Connected Cache for O365 ProPlus setups.

Check this link for more information regarding this feature.

 

Thanks to this feature, you can start the installation using a ~5MB Application in ConfigMgr. Your source folder only needs to contain the latest O365 ProPlus setup.exe and your configuration.xml

 

You can use the following example .xml for your tests:

<Configuration>

    <Info />

    <Add OfficeClientEdition="64" Channel="Insiders">

        <Product ID="O365ProPlusRetail">

            <Language ID="en-us" />

            <Language ID="de-de" />

        </Product>

    </Add>

    <RemoveMSI All="TRUE" />

    <Logging Type="Verbose" Path="C:\Temp" Name="Microsoft Office 365.txt"/>

</Configuration>

 

As you may want to remove O365 afterwards, you can use the following .xml for uninstallation:

<Configuration>

    <Remove All="TRUE">

    </Remove>

    <Display Level="FULL" AcceptEULA="TRUE" />

    <Logging Type="Verbose" Path="C:\Temp" Name="Microsoft Office 365.txt"/>

</Configuration>

 

Example installation parameters and source folder:

 

Now you can start the installation on your first test machine.

You can use the following command to get statistics about the download:

 

Get-DeliveryOptimizationStatus | Select-Object TotalBytesDownloaded, BytesFromCacheServer,BytesFromHttp,BytesFromPeers,SourceURL | Where SourceURL -Like "*officecdn*"

 

As you can see, all content came already from the CacheServer, but the CacheSever needed to download the content from the internet. The next computer that installs Office at this location can use the content provided by the CacheServer and does not need to download it from the internet.

On the CacheServer you can see the downloaded files available for clients:

 

 

Next steps

Checkout the Ignite Session BRK3078 - The power of Delivery Optimization to get an in depth look at the things you just configured, including the supported content types from Delivery Optimization.

 

 

Happy Caching!

 

Stefan Röll

Premier Field Engineer – Microsoft Germany

 

 

References

Stay current while minimizing network traffic: The power of Delivery Optimization (Ingnite 2019)

https://myignite.techcommunity.microsoft.com/sessions/81680?source=sessions

Delivery Optimization reference

https://docs.microsoft.com/en-us/windows/deployment/update/waas-delivery-optimization-reference

Delivery Optimization and Office 365 ProPlus

https://docs.microsoft.com/en-us/deployoffice/delivery-optimization

Optimize Windows 10 update delivery with Configuration Manager

https://docs.microsoft.com/en-us/configmgr/sum/deploy-use/optimize-windows-10-update-delivery

Microsoft Connected Cache in Configuration Manager

https://docs.microsoft.com/en-us/configmgr/core/plan-design/hierarchy/microsoft-connected-cache

 

Disclaimer:
The sample scripts are not supported under any Microsoft standard support program or service. The sample scripts are provided AS IS without warranty of any kind. Microsoft further disclaims all implied warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample scripts and documentation remains with you. In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.

REMEMBER: these articles are REPUBLISHED. Your best bet to get a reply is to follow the link at the top of the post to the ORIGINAL post! BUT you're more than welcome to start discussions here:

This site uses Akismet to reduce spam. Learn how your comment data is processed.