Purpose: You have installed SCCM SP1, and now you need to update your agents!
Updating the SCCM 2012 system with any major update that includes fixes to the client-side – generally means that you need to update all the clients that you have in your environment to meet the version of your servers. This can be done using different methods. The following methods are at least supported by Microsoft as a weapon of choice. In this post, I will only cover the method that I selected.
Methods of updating the SCCM 2012 clients:
- Install new client as an application / package.
- Use built-in tool of Client pushing.
- Setup Client Update as part of Software Updates.
- Enable Site-Wide client automatic installation.
- Install the client manually to desired workstations.
SP1 does not create any client packages automatically. It does change the push-installation to push the SP1 client automatically. You need to find the installation media of the client from the server. You can copy the media into your designated application distribution folder as a source for your application package. The client installation media can be found under the Configuration Manager installation folder.
After you have found the installation media, create a package or application like you are used to. A note about application installation: Since Applications rely on a result code and a detection method, you will receive errors even on successful installation since the service will restart and you will lose connection briefly to the client. Hence Package is more supported method of client upgrade installation.
Create the following device collections where you will create two dynamic queries. The first will collect all clients from your environment, which client version is below SP1. The other will create collect all the clients that have upgraded to SP1. There are at least two ways to query for the clients, both of them are demonstrated below.
|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.ClientVersion < "5.00.7804.1000"||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_SMS_ADVANCED_CLIENT_STATE on SMS_G_System_SMS_ADVANCED_CLIENT_STATE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_SMS_ADVANCED_CLIENT_STATE.Version = “5.00.7804.1000” and SMS_G_System_SMS_ADVANCED_CLIENT_STATE.DisplayName = “CCM Framework”|
Now you can deploy your application to the previously created device collections. Should you set the device collections to use incremental updates, you can literally watch the numbers change to your favor.
Your client(s) update can also been observed directly from the client itself.
|SCCM 2012 Version is:||5.00.7711.1000|
|SCCM 2012 SP1 Version is:||5.00.7804.1000|