With the release of System Center 2012 Configuration Manager, Microsoft introduced the distribution point groups functionality. Distribution point groups provide a logical grouping of distribution points and collections for content distribution as described in the following Technet Article: Configuring Content Management in Configuration Manager, Create and Configure Distribution Point Groups
A Distribution Point can be made member of one or more Distribution Point Group, based on the content deployed to that Distribution Point Group and whether the Distribution Point is member of that group, the Distribution Point receives content which is defined for the Distribution Point group.
When distributing content you have the ability to choose whether you want to distribute to a either a Collection/Collections, Distribution Point or Distribution Point Groups. This is actually the point where things start to go wrong, since depending on who is performing the distribution of the content, different options are chosen.
My personal preference is to define distribution groups, and always distribute content to distribution groups. The main advantage of this is, that when you add a new distribution group in your hierarchy, you simply add the distribution point to the already existing distribution point group and it will be filled with the content defined for the distribution point group.
In large environments, inconsistent distribution of content can lead to distribution points which are not aligned to each other, while you intended them to be because you grouped them in a Distribution Point group.
1. Be consistent in how you distribute content. Either distribute all content to all distribution points, or at least be consistent to always distribute to distribution point groups instead of distribution points. If you have the possibility to do so, use RBAC to restrict access to distribution points while giving access to the distribution point groups
2. If an application is retired, it stays on the distribution point, but you can’t distribute it anymore (leaving compliance in monitoring less than 100%) so if you expire an application remember to remove it from the distribution point groups.
3. Make sure you understand how this works before you start cleaning up the mess, read this blogpost in order to understand the scenario’s. I don’t want to be blamed that content gets removed from your distribution point while you are cleaning things up.
4. Removing content from a distribution point while initially deployed to a distribution point group is evil!
5. If you remove a distribution point from a distribution point group, the content stays on the distribution point.
In order to test the behavior of distributing content to primary I created several scenario’s in my ConfigMgr lab environment.
My lab environment is configured as followed (thanks to Johan Arwidmark for sharing the possibility to install a ConfigMgr environment using his Hydration solution – latest version here)
- CM01 – Primary Site and Distribution Point
- MDT01 – Distribution Point
- MDT02 – Distribution Point
I also created 3 Distribution Point groups (DP_ALL, DP_MDT01 and DP_MDT02)
In order to see what is really available on the Distribution Points I used the Content Library Explorer, which is part of the Configuration Manager 2012 R2 toolkit provided by Microsoft.
Scenario 1: Distribution of one of the boot images to the DP_ALL distribution group, remove the boot image from the MDT01 distribution point and perform a redistribute on the DP_ALL distribution group
Outcome scenario 1:
Boot image is distributed to both distribution points, after validating that the boot image has arrived we can see that the boot image is available as content on both the distribution point group and the distribution points.
If we then remove the content from the distribution point group by selecting the content on the content tab of the distribution point properties and clicking remove we validate the content and see that the boot image is removed from the distribution point.
If we now go to the properties of the distribution point group, select the boot image on the Content tab and click on Redistribute nothing effectively happens. The boot image does not get distributed to the distribution point where we previously removed the boot image.
Conclusion: After you remove content from a distribution point, the relation for that content with the distribution point group is gone as well.
Scenario 2: Distribution of a boot images towards two distribution point groups, remove the content from one of the distribution point groups.
Outcome scenario 2:
I distributed one of the boot images towards two distribution point groups (DP_ALL and DP_MDT01), after validation that the content has arrived, I removed the content from one of the distribution point groups (DP_MDT01)and monitored what happened. The boot image is not removed from the distribution point group.
Scenario 3: Distribution of a boot image to a distribution point, distribution of the same boot image to a distribution point group and after validation that the content has arrived, remove the boot image from the distribution point group
Outcome scenario 3:
I distributed a boot image to the MDT01 distribution point, after validation that the content arrived I also distributed the same boot image to the DP_ALL distribution point group. After validation that the boot image arrived on both distribution groups I removed the boot image from the DP_ALL distribution point group. The boot image then is removed from all the distribution points.
Scenario 4: Add boot image to distribution point group, add the same boot image to a distribution point and remove the boot image from the distribution point
Outcome scenario 4:
After we add the boot image to the DP_ALL distribution point group and we want to distribute the content to a distribution point which is already member of a distribution point group containing the content, you can’t choose the distribution point in the Distribute Content wizard. See the screenshot below, both Distribution Points (MDT01 and MDT02) which already have the content due to their DP_ALL distribution point group membership are not available to distribute content to.
Scenario 5: Distribute content to distribution point group, remove the content from the distribution point, distribute the content to distribution point again and then remove the content from the distribution point group.
Outcome scenario 5:
I added the boot image to the DP_ALL distribution point group, validated that the content arrived on both MDT01 and MDT02. After that I removed the content from the MDT01 distribution point, validated that the content was removed and distributed the content again to the MDT01 distribution point and validated that the content arrived. Then I removed the boot image from the DP_ALL distribution point group. The boot image then gets deleted from both the distribution points.
Scenario 6: Distribute content to distribution point group, remove distribution point from distribution point group
Outcome scenario 6:
I distributed a boot image to the DP_ALL distribution point group, validated that the content arrived on both distribution points. Then removed the MDT01 distribution point from the DP_All distribution point group. Nothing happened, the content stays on both distribution points and is not removed from the MDT01 distribution point.
The content after installation of a distribution point
Installation of a distribution point is actually quite simple, you install a server, add the computer account of the primary (or secondary) site to the local administrator group and use the wizard which will configure IIS and make the server a distribution point. Ofcourse this procedure is told very simplified because there are many other options or scenario’s available. Don’t forget to add no_sms_on_drive.sms files on the drives where you don’t want distribution point content files to land.
After you installed the distribution point functionality on a site server, you will notice that the ContentLibrary folder is empty.
After the first content distribution though, the distribution point will contain 3 different contents:
- The content you distributed (in my case the boot image)
- The Configuration Manager Client Package
- An unknown package (actually this is the Configuration Manager Client upgrade package as you can see in the screenshots below)