ConfigMgr 101: Configuring and Utilising Branch Distribution Points

It’s easy to get into a mess with Branch Distribution Points (BDP’s) and often I hear that things are not happening they way they anticipated – which is not surprising given that it can often be difficult for the newcomer to get their head around protected site systems and the way that Distribution Point selection works and how we must control the client behaviour in the advertisement properties.

There is an excellent Technet Library article which covers exactly how clients within branch sites with a branch DP are (and should be) influenced by the protection of site systems to ensure that when possible they always use their local Branch DP.  This is an essential read.

In a nutshell, a BDP, like any client system must be located within the boundaries of a regular DP at the site in order to pull content from it.  The BDP itself MUST be protected and configured to service only the boundaries where your clients reside.  You then need to review ALL of your advertisements to control whether or not client systems can ‘fall back’ to the regular DP (probably the very same one that services the BDP) if the package is not available on the BDP.

Note: If the BDP is OFFLINE and clients cannot obtain packages that were on it, then the ‘fall back’ behaviour does not occur here.  The ‘fall back’ behaviour applies ONLY for packages that have not been added to the BDP.



BITS in Pieces

I like BITS, however the bandwidth control and resiliency comes at a cost.

There is a tiny processing overhead for each file downloaded by BITS which is OK when you are dealing with only double digit numbers of files to download, however this overhead soon mounts up and can become a real problem when you have complex package content that contains hundreds or thousands of files – the client will take a very long time to download the entire package.  You should of course resolve the root cause, which is to simply create installation packages that contain a single msi for example, but sometimes this is not an available option and you need a workaround.

Regular non-HTTP/BITS download via SMB can be utilised in these scenarios.

Create a share on your server (giving SYSTEM and Administrators full control, whilst allowing EVERYONE else Read-Only of course) and add this as a server share to your ConfigMgr site.  You could give this share an appropriate name such as SMSSMB$.  Assign this new server share the role of a Standard Distribution Point but do not enable the HTTP/HTTPS transfer options.

Create a Distribution Point Group and add the SMB shares that you have created in your environment to this group, then for any troublesome package that isn’t suited to BITS transfer distribute these only to your SMB Distribution Points.

Do be aware that this is really a workaround and not a permanent fix – you are sacrificing the resiliency of BITS and the ability to control the bandwidth usage between the client and the DP.