Microsoft has now released Cumulative Update 2 (CU2) for ConfigMgr 2012 R2 SP1. Follow the steps in this guide to install the Cumulative Update in your ConfigMgr 2012 R2 SP1 hierarchy or for your stand-alone Primary Site server including Secondary Site servers. Be aware that you’d have need to updated your ConfigMgr 2012 R2 environment to SP1 before you can install this Cumulative Update.
As with all Cumulative Updates that has been released in the past, the recommended way to install it in your ConfigMgr hierarchy is from the top down. So if you’re running a CAS with a couple of Primary Site servers, you should start with by upgrading your CAS.
Update 2015-11-16: Re-download the CU2 installation setup. More details here:
Cumulative Update 2 contains a lot of fixes, but also some general improvements in areas that are very much awaited for. You can read more about them here. Previously, the PowerShell module was also updated, but since that’s now a separate download (Configuration Manager Cmdlets Library), it’s not included. Below is a segment from the blog post by Microsoft regarding the release of this Cumulative Update, on some of the improvements:
- General performance improvements to the device enrollment process in Intune hybrid environments.
- More efficient processing of pull-distribution point packages in large environments.
- Simplified quarantine email experience to allow one-click enrollment. With this update, end users can click a single link in the quarantine email to complete the enrollment process within the company portal app.
You can read the full blog post from Microsoft on the link below:
- Before you begin
- Download the CU2 update
- Upgrade your CAS server
- Upgrade your Primary Site servers
- Upgrade your Secondary Site servers
- Verify Installation
- Upgrade systems with the ConfigMgr console
- Upgrade your Clients
Before you begin
I recommend that you take a look at the following blog post called ConfigMgr Servicing model, by Brian Huneycutt. It givesyou an idea what a Cumulative Update for ConfigMgr is and what it’s intended for.
Make sure that you have a backup of your databases before you go ahead and perform the update to CU2. This Cumulative Update contains changes to the site database, so the backup should preferably not be older than 1 day. You can check out this excellent blog post on how to perform backups of a ConfigMgr 2012 SP1 and above database. It’s also considered a best practice to make sure all the servers affected by this update are running with the latest updates from Microsoft. Finally, restart all your site servers that you will install CU2 on before you begin.
Download the CU2 update
1. You can request the Cumulative Update from Microsoft here. Extract the content to a preferred folder.
2. Copy the CM12-R2CU4-KB3026739-X64-ENU.exe file to all of your servers where you’re will be performing the update. In this post it will be the CAS, Primary and Secondary Site servers.
Upgrade your Central Administration Site
In the rare event that your environment contains a Central Administration Site (CAS), you should begin with applying the CU2 at that site. It’s required that you always apply a Cumulative Update from the top down in a hierarchy. The following steps below outlined for the Primary Site server applies to the CAS as well. After you’ve applied the Cumulative Update, make sure that your Site server is in a functioning state before you continue upgrading your Primary Site servers.
Upgrade your Primary Site server
Before you go ahead and install the Cumulative Update, I highly recommend that you turn on the Automatic Client Upgrade feature in your hierarchy. This will allow for a smooth and seamless upgrade of your clients, in other words, automatic. Since ConfigMgr 2012 R2 SP1, the Cumulative Update installation wizards will automatically create a ClientUpdate folder for both architectures in the default Configuration Manager Client Package if you select that option, which is something that I recommend that you do.
1. Run the CM12_SP2R2SP1CU2-KB3100144-X64-ENU.exe and click Yes in the UAC prompt.
2. Click Next on the Welcome page.
3. On the Microsoft Software License Terms page, accept the license terms and click Next.
4. On the Prerequisite Check page, make sure that all checks are green before you continue. Remediate any warning or errors. Click Next when ready.
5. On the Console Update Option page, make sure that Install the update for the Configuration Manager console is selected and click Next.
6. On the Database Update page, select Yes, update the site database if you have backed up your CAS site database before running the setup. Click Next when ready.
7. On the Automatic Client Update page, select to Automatically apply. This is what I was referring to earlier when I talked about the Automatic Client Upgrade feature. If you’ve not enabled that in your environment, you’ll not see this page during the installation wizard.
8. On the Deployment Assistance Options page, make sure all the options are selected and click Next.
9.On the Update Package for Configuration Manager Servers page, click Next.
10. On the Update Package for Configuration Manager Consoles page, click Next.
11. On the Update Package for Configuration Manager Clients page, click Next.
12. On the Setup Summary page, click Install.
13. The update process will now begin, wait for it to complete.
14. Once the update process has completed, click Next.
15. On the Installation Complete page, click Finish.
16. The first time you launch the ConfigMgr console after you’ve applied the Cumulative Update, you’ll see that there’s new extensions for Microsoft Intune that needs to be installed. Click Yes in the prompt.
17. Wait for the extensions to be installed.
18. Once they’ve been installed, click Close.
Now that the installation has successfully finished, open the ConfigMgr console and go to Software Library -> Application Management -> Packages -> Configuration Manager Updates and distribute all the newly created packages to your Distribution Points.
Upgrade your Secondary Site servers
For Secondary Site servers, the process is not exactly the same. If you have alot of Secondary Site servers, I recommend that you look at the option to distribute the CU2 KB3100144 – server update – <site_code> package that the installation wizard has created, either on your CAS or Primary Site server, to a collection with all your Secondary Site servers. This package would need to be distributed to your Distribution Points before you go ahead and deploy the it. If you only have a few Secondary Site servers, you could just copy the installation file for the Cumulative Update to those servers and update them manually. If you decide to upgrade your Secondary Sites manually, the process will be familiar as for the CAS and Primary Site, except for that there are less pages to go through.
Obviously the installation wizard will tell you if the installation was successful, but there are additional ways of verifying that the upgrade process was successful.
On your Site server check the following value called CULevel, found under HKLM\Software\Microsoft\SMS\Setup. It should contain the value of 2.
When you go to Administration -> Site Configuration -> Sites and right-click to select Properties of the Site server that you just upgraded, the Version number will show 5.00.8239.1000. That’s because the Site version is not changed when you apply a Cumulative Update. If you’ve verified that the CULevel value was set to the corresponding version of the Cumulative Update, your Site was successfully updated.
If you open the ConfigMgr console and click on the menu in the top left corner, select About Configuration Manager. The console version should show 5.0.8239.1301.
Upgrade systems with the ConfigMgr console
If you’ve installed the ConfigMgr console on any other servers or workstations than the site servers, create a collection with a Query membership rule as shown below. Create a deployment for the CU2 KB3100144 – console update – <Site Code> to that collection, and the stand alone ConfigMgr consoles will be updated.
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 like "System Center 2012 R2 Configuration Manager Console" and SMS_G_System_ADD_REMOVE_PROGRAMS.Version >= "5.00.8239.1301"
Upgrade your Clients
When your whole hierarchy consisting of Site server are upgraded with Cumulative Update, you need to upgrade your Clients as well. Ronni Pedersen has created an excellent blog post that covers the Automatic Client Upgrade feature, which can be found here:
To enable this feature, go to Administration – Site Configuration and select Sites. Click on Hierarchy Settings and go to the Automatic Client Upgrade tab.
I highly recommend that you make use if this feature, unless that you want to create your custom Client Upgrade Package specifying the necessary parameters for ccmsetup.exe which are required in your environment, or manually deploy the CU2 KB3100144 – x64 client update – <Site Code> package including the x86 package. If you choose to use this feature, remember to not set the Automatically upgrade clients within days value too low, as it might cause an extra load on your Site servers when too many clients are trying to upgrade at the same time. If you for instance set the value to 2, all of your clients with a lower build number than the site that it’s assigned to will retrieve the policy and create a local task to run within a randomized time frame between 1-2 days.
Also remember that if you choose to create your own Client Upgrade package, ccmsetup.exe will automatically detect whether the Operating System architecture is 32-bit or 64-bit, so there’s no need to create collections that contains architecture specific clients.
If you still want to manually deploy the client update packages created by the installation wizard, here’s two collection queries to use:
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_SMS_ADVANCED_CLIENT_STATE on SMS_G_System_SMS_ADVANCED_CLIENT_STATE.ResourceId = SMS_R_System.ResourceId inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceId = SMS_R_System.ResourceId where SMS_G_System_COMPUTER_SYSTEM.SystemType like "x64-based PC" and SMS_R_System.Client is not null and SMS_G_System_SMS_ADVANCED_CLIENT_STATE.Version >= "5.00.7711.0000" and SMS_G_System_SMS_ADVANCED_CLIENT_STATE.Version = "5.00.8239.1301"
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_SMS_ADVANCED_CLIENT_STATE on SMS_G_System_SMS_ADVANCED_CLIENT_STATE.ResourceId = SMS_R_System.ResourceId inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceId = SMS_R_System.ResourceId where SMS_G_System_COMPUTER_SYSTEM.SystemType like "x86-based PC" and SMS_R_System.Client is not null and SMS_G_System_SMS_ADVANCED_CLIENT_STATE.Version >= "5.00.7711.0000" and SMS_G_System_SMS_ADVANCED_CLIENT_STATE.Version = "5.00.8239.1301"
Below is a query that you can use to create a collection containing all clients that has been upgraded to the latest version:
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 where SMS_R_System.Client is not null and SMS_R_System.ClientVersion = "5.00.8239.1301"
Below is a screenshot of a client that has been upgraded with the Cumulative Update, showing version 5.00.8239.1301: