Implementing Configuration Manager 2012 R2 Cumulative Update 5

May 17, 2015 at 8:04 pm in Configuration Manager by timdk

As mentioned during one of my previous blog posts Microsoft has recently released Cumulative Update 5 for Configuration Manager 2012 R2. This blog post will outline how to implement this Cumulative Update and is based on the steps I followed during the implementation in my lab environment.

Note: this week Microsoft has also released Service Pack 1 for Configuration Manager 2012 R2. The logical question pops up whether to still install this Cumulative Update or immediately go for the Service Pack. Technically there are no constraints for implementing the Service Pack straight away (the CU is not a prerequisite) however my current preferred way to go is to implement the CU first. Based on experiences from the past there could always be some subtle differences, and it seems my friend Kenny already found one here as well.

Now back to implementing the CU. First step is to get the sources. The KB article also gives a full overview of the fixes and improvements in this update. As the name indicates, this update also contains all elements fixed or added in one of the previously released CU’s.

Note that this update is only applicable to Configuration Manager 2012 R2 – if you are currently still running Configuration Manager 2012 SP1 the latest available cumulative update is CU5.

The CU is applicable directly to the following components:

    • CAS
    • Primary Sites (standalone or in a hierarchy)
    • Secondary Sites
    • SMS Provider(s)
    • Console(s)

    Additionally it contains updates for the following components:

    • CAS
    • Primary Sites
    • Secondary Sites
    • SMS Provider(s)
    • Consoles
    • Clients

    The lab we are upgrading does not contain all the components listed above, a CAS and Secondary Site(s) are not present.  The SMS Provider is installed locally on the site server.

Primary site

Cumulative Updates for Configuration Manager are implemented top-down so we start with the site server of the standalone primary site. Before running the installer with elevated privileges ensure there are no more active console connections.


The Installation Wizard is started.


Click next on the Welcome page.


Accept the license terms and click Next.


Verify all prerequisite checks are successful and click Next.


Leave the default option to install the update for the console and click Next.


Leave the default option to update the site database and click Next.


Leave the default option for package creation and click Next.


Leave the default settings for the server package and click Next.


Leave the default settings for the console package and click Next.


Leave the default settings for the client packages and click Next.


Review the setup summary and click Install.


The installation begins and progress is shown. Click Next when finished.

Note: during the implementation I had noticed that the installer was hanging long time on the first step to stop the services. In this case manually stopping the WinMgmt service (net stop winmgmt from an elevated command prompt) was needed to make the installation continue.


All done! Click Finish and reboot the system.


The technical details about the installation and what is happening behind the scenes is logged the log file cm12-r2cu5-kb3054451-x64-enu.log  located in the %windir%\temp folder.

Now lets do a few verification steps to see if the update got implemented properly.

First checkpoint are the entries in Programs and Features > view installed updates:


Next is the registry in HKLM\Software\Microsoft\SMS\Setup


And a final check in the console (About Configuration Manager)


As we opted to have some packages created to support implementing the CU in our environment these should now also be visible in the console. Go to the software library and select packages. Select the Configuration Manager Updates folder and then type CU5 in the search box to quickly locate those packages.


Important: Do not forget to distribute the content of these packages to your Distribution Points!

Important (2): Do not forget to update your boot images. This can be done by selecting a boot image, right-clicking it and then selecting the action to Update Distribution Points.

Secondary Sites

If there are any Secondary Sites in your environment the next step is to implement the CU on those sites. The server update package can be used to automate this. To target the site servers a collection can be built which is populated based on the following query:

    • select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name, SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,
      SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS_64 on SMS_G_System_ADD_REMOVE_PROGRAMS_64.ResourceId = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS_64.DisplayName = "System Center 2012 R2 Configuration Manager Secondary Site Setup"


    As part of the implementation process on the site server the locally installed console was updated. Any remaining remote consoles in the environment can be updated using the console upgrade package.

    To build a collection containing the machines with the console installed the following query could be used:

  • select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name, SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM. ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceId = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName = "System Center 2012 R2 Configuration Manager Console"



    Last but not least we also need to get the CU installed on our clients. There are multiple approaches to accomplish this; one method could be to deploy the client update packages created automatically during the implementation process.

    As there is a package per processor architecture we will also create matching collections to target our deployments. This is an example query for a collection containing all 64-bit clients with a client version not equal to CU5:
  • select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name, SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,
    SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_SYSTEM on SMS_G_System_SYSTEM.ResourceID = SMS_R_System.ResourceId where SMS_R_System.ClientVersion != "5.00.7958.1601" and SMS_G_System_SYSTEM.SystemType = "X64-based PC"
    The query for the collection with 32-bit clients is identical; just replace “x64-based PC” with “x86-based PC”.

Clients with CU5 will have the following version shown on the properties tab:


Version numbers for some of the components are also updated:


That’s all for now – Until next time!


Tweet about this on TwitterShare on LinkedInEmail this to someonePrint this pageShare on Google+Digg thisShare on RedditShare on Facebook