SCCM Client Push is Connecting to the Client assigned to Another Primary Configuration Manager ConfigMgr. Client push is still confusing when you’ve SCCM hierarchy with CAS and Primary servers.
Neil Peterson had posted about the Standalone primary server-client push scenario in his post here. However, when you’ve hierarchy with SCCM 2012 CAS and Primaries, then the SCCM client push scenario is a bit different.
I had stumbled across a scenario where we’ve enabled the client push on an SCCM primary server, and as per the CCM.log, it was trying to connect to the sccm client in another primary site.
SCCM Client Push is Connecting to the Client assigned to Another Primary?
Is this normal behavior? How the ConfigMgr client push enabled in a primary site is trying to install a client assigned to another primary site in the hierarchy? The scenario is “Discovery and the site-wide client push installation method enabled on primary site; however, Site-wide Client push is disabled on other primary sites.”
SCCM client push has been enabled on a specific primary server, and the client push account specified in that primary site is trying to connect all the machines listed in the view called “V_CP_Machine“. V_CP_Machine contains all the discovered resources assigned to the site, which does not have a client installed. Client push installation starts and tracks the installation of the client by using the Configuration Manager database and no longer creates individual .CCR files.
Why my primary server is trying to connect to the clients assigned to other primary sites?
So as mentioned above, in SCCM 2012, client push is not based on individual .CCR file. Rather the SCCM 2012 client push is based on SQL DB view V_CP_Machine. When I checked the V_CP_Machine in my primary server DB, it showed the list of machines (clients) assigned to other primary sites in my hierarchy. Hence my primary server is trying to connect to the machines listed in V_CP_Machine.
Why does the V_CP_Machine view contain all machines in the SCCM hierarchy?
V_CP_Machine SQL view is related to a table called “ClientPushMachine_G“. The table “ClientPushMachine_G” (Article Name) is part of the Global data replication pattern. The replication group name is Configuration Data. You must know that GLOBAL data is replicated all over the hierarchy, so that is the reason for having the same list of machines in V_CP_Machine view all around the SQL DBs(Primary servers and CAS server). More details about Replication patterns, Replication groups, and Article IDs are explained in my following post, “FAQs Related to SCCM 2012 SQL Database Replication“.
What is the content of the view “V_CP_Machine”?
In the below table (SCCM view), you can see that against each client record, it gives the “Last Error Code” detail. Last error code details could be very helpful for troubleshooting SCCM client Push issues. SCCM client push error codes are nothing but Windows Error codes. Details of Windows error codes are available in the TechNet documentation here.[table caption=”V_CP_Machine” class=”table table-bordered” ai=”1″ width=”400″ colwidth=”150|50|300″ colalign=”left”]
MachineID,Name,LatestProcessingAttempt,LastErrorCode,PushSiteCode,AssignedSiteCode,InitialRequestDate,Description,NumProcessAttempts,ErrorEventCreated,Status 16777479,ACNCMClient,2015-03-06 12:30:41.000, 53, PRI, PRI, 2015-02-27,13:12:56.880, Retry, 169, NULL
How Do I delete the client records from the Client Push method "V_CP_Machine"?
As mentioned above, the V_CP_Machine SQL view is related to a table called ClientPushMachine_G. And you can delete the records from the table if you're in a critical situation. But directly editing SCCM SQL DB is not supported. I can see 3 DRS Stored procedures in SQL related to client push. I hope one is to delete the Client Push Machines, another is for Handle Unique Key of client push machines, and 3rd one is for Upsert Client Push Machines. So what is DRS?, Data replication Service.
Where can I find the details of the Stored Procedures used for Client Push Installation?
The Stored procedures details are there in the CCM.log file. Following are the Stored Procedures that I can see in the SCCM 2012 DB related to Client Push.
sp_CP_StatusPercent_AllGetting a new request from queue "Retry" after 100 millisecond delay. $<03-17-2015 22:28:23.073-480><thread=11344 (<span="" class="hiddenSpellError" pre="" data-mce-bogus="1">0x2C50)> Found CCR "2097909935.ccr" in queue "Retry". $<03-17-2015 22:28:23.073-480><thread=11344 (0x2c50)=""> Execute query exec [sp_CP_GetPushRequestMachine] 2097909935~ $<03-17-2015 22:28:23.223-480><thread=11344 (0x2c50)=""> Successfully retrieved information for machine ACNCLient2 from DB $<03-17-2015 22:28:23.231-480><thread=11344 (0x2c50)=""> Execute query exec [sp_CP_GetPushRequestMachineIP] 2097909935~ $<03-17-2015 22:28:23.231-480><thread=11344 (0x2c50)=""> Execute query exec [sp_CP_GetPushRequestMachineResource] 2097909935~ $<03-17-2015 22:28:23.325-480><thread=11344 (0x2c50)=""> Execute query exec [sp_CP_GetPushMachineName] 2097909935~ $<03-17-2015 22:28:23.346-480><thread=11344 (0x2c50)="">
Anoop is Microsoft MVP! He is a Solution Architect in enterprise client management with more than 20 years of experience (calculation done in 2021) in IT. He is a logger, Speaker, and Local User Group HTMD Community leader. His main focus is on Device Management technologies like SCCM 2012, Current Branch, and Intune. He writes about ConfigMgr, Windows 11, Windows 10, Azure AD, Microsoft Intune, Windows 365, AVD, etc...