How Client Assignment and Client Push Happen in SCCM

Hello All! Prathista here from the SCCM PFE world to give you some insights about the client assignment process and how client push is triggered when automatic client push is enabled. Many have faced the issue that automatic client push is not happening, despite you have all the boundaries and accounts in place. This is something I have come across multiple instances even in my previous role and had always been a mystery if it is the DDM or CCM itself or something else! Worst part, we will not see much information from ddm logs without verbose. Even with verbose, not much details related to ccr creation or client push trigger.

For those who are new with these terms, here is a quick background,

CCM – Client Configuration Manager – the component responsible for performing the client push and communicating with the client.

CCR- Client Configuration Record – the record which will be created for the CCM to read and process the request.

DDM – Discovery Data Manager – the component responsible for processing the newly discovered/heartbeat discovery records.

DDR – Data Discovery Record – the record which will be created for the DDM to read and update the DB and other actions depending on the type.

Here is an easy flow chart I have created for a better understanding of the flow.

The log snippets are taken from my lab with a CAS and 2 primaries and the client in the log snippet here (CL1) has its boundary in NYC primary.

An interesting thing to note here; I noticed many technet forums talking about manually deleting the duplicate entries from System_SMS_Assign_ARR table. It might not help much because these entries will still pop up after every discovery.

The duplicate entries happen in the following scenario,

  1. You have secondaries in your environment.
  2. Your secondaries’ boundary groups have site assignment checkbox enabled (refer to the screenshot below) with the Secondary site code.

An important thing to note, refer to the following statement from the article: https://docs.microsoft.com/en-us/sccm/core/clients/deploy/assign-clients-to-a-site

“Clients cannot be assigned to a central administration site or to a secondary site.”

The duplicate entries can be identified using the following query,

select * from System_SMS_Assign_ARR where ItemKey in
(select ItemKey from System_SMS_Assign_ARR group by ItemKey
Having COUNT(itemkey) > 1)

This could also lead to client push not able to be triggered because the particular resource is assigned to both primary and secondary site code. To fix this issue, uncheck the site assignment from Secondary’s boundary and you can see these duplicates immediately disappear and automatic client push will be triggered soon after the resource is discovered.

Thanks for reading, and I hope this helped solve the mystery around client assignment and automatic client push, which I always had