Enabling BranchCache for Configuration Manager using Client Settings

Since Configuration Manager current branch, version 1606 it has been possible to enable BranchCache on clients using Client Settings. Previously, to enable BranchCache an administrator would need to configure BranchCache for clients using command line tools or Group Policy.

To use BranchCache with Configuration Manager, the following prerequisites must be met:

  • Distribution Point;
    • Cloud Distribution Point or Windows Server Distribution Point;
    • BranchCache enabled in properties (only required for Windows Server).
  • Client
    • A supported client Operating System (yes, this includes Windows Professional SKUs);
    • BranchCache must be enabled in Distributed Mode on the client;
    • The appropriate firewall rules must be opened.
  • Software Update, Application and Package Deployments must be configured with the option to Allow clients to share content with other clients on the same subnet.

This post explains how to enable BranchCache on the client using Client Settings, for any other information, see:

Enable BranchCache in Client Settings

To enable BranchCache on computers using Client Settings:

  1. Open the Client Settings policy you want to apply to clients (it is recommended that a new policy be created to apply custom settings rather than editing the Default Client Settings policy)

  2. Tick the box on the General tab to include Client Cache Settings

    [caption id="attachment_4975" align="aligncenter" width="452"]Create Custom Client Settings Create Custom Client Settings[/caption]

  3. Select the Client Cache Settings tab

    • Change Configure BranchCache to Yes
    • Change Enable BranchCache to Yes

    [caption id="attachment_4985" align="aligncenter" width="452"]Edit Client Cache Settings Edit Client Cache Settings[/caption]

  4. Deploy the settings (See Create and Deploy Custom Client Settings for more information).

NOTE

Unlike Group Policy, if you want to disable BranchCache you must explicitly disable it using Client Settings or an alternate method. Simply removing the client setting to enable it won't revert it to it's previous state. In addition, while the feature will add the firewall rules to Windows Firewall, it will not remove them when the feature is disabled.

Verify BranchCache is Enabled

After the new client settings are retrieved and updated on clients, you will notice BranchCache is enabled.

Netsh

From a command prompt, run netsh to confirm that BranchCache is now running in Distributed Caching mode and the cache size is configured as per theĀ Client Settings.

[code]netsh branchcache show status all

[caption id="attachment_4995" align="aligncenter" width="479"]Confirm BranchCache Enabled Confirm BranchCache Enabled[/caption]

CAS.log

You will see the following entries in CAS.log:

[code]
Enabling BranchCache. ContentAccess 13/05/2017 6:45:30 PM 2600 (0x0A28)
EnablePeerDistribution: Successfully enabled PeerDistribution ContentAccess 13/05/2017 6:45:32 PM 2600 (0x0A28)
Setting BranchCache size to 10 of disk ContentAccess 13/05/2017 6:45:32 PM 2600 (0x0A28)
SetCacheSize: Successfully set cache size ContentAccess 13/05/2017 6:45:32 PM 2600 (0x0A28)

Firewall Rules

Windows Firewall rules will be configured as per the table below:

Name Group Profile Enabled Action Override Program Local Address Remote Address Protocol Local Port Remote Port
BranchCache Content Retrieval (HTTP-In) BranchCache - Content Retrieval (Uses HTTP) All No Allow No SYSTEM Any Any TCP 80 Any
BranchCache Content Retrieval (HTTP-In) BranchCache - Content Retrieval (Uses HTTP) Domain,Private Yes Allow No SYSTEM Any Any TCP 80 Any
BranchCache Hosted Cache Server (HTTP-In) BranchCache - Hosted Cache Server (Uses HTTPS) All No Allow No SYSTEM Any Any TCP 80,443 Any
BranchCache Peer Discovery (WSD-In) BranchCache - Peer Discovery (Uses WSD) All No Allow No %SYSTEMROOT%\system32\svchost.exe Any Local subnet UDP 3702 Any
BranchCache Peer Discovery (WSD-In) BranchCache - Peer Discovery (Uses WSD) Domain,Private Yes Allow No %SYSTEMROOT%\system32\svchost.exe Any Local subnet UDP 3702 Any