SCCM Client Installation Report: Finding Machines Missing the Client

If you want to report on machines that don’t have the ConfigMgr client installed within your Configuration Manager environment, you can run this query directly against your SQL database, or use it as the basis for an SSRS report. The Query select SMS_R_SYSTEM.Name, SMS_R_SYSTEM.Client, SMS_R_SYSTEM.Active, SMS_R_SYSTEM.Operating_System_Name_and0 from SMS_R_System where SMS_R_System.Client = 0 or SMS_R_System.Client is […]

SCCM Report Query For Machines Without Client Installed
If you want to report on machines that don’t have the ConfigMgr client installed within your Configuration Manager environment, you can run this query directly against your SQL database, or use it as the basis for an SSRS report.

The Query

select SMS_R_SYSTEM.Name, SMS_R_SYSTEM.Client, SMS_R_SYSTEM.Active, SMS_R_SYSTEM.Operating_System_Name_and0 from SMS_R_System where SMS_R_System.Client = 0 or SMS_R_System.Client is null
This pulls back devices discovered by ConfigMgr (via AD System Discovery or another discovery method) that have never had the client agent installed, or where the client flag is currently reporting as inactive/absent.

Using It

You can paste this into a new console query the same way as any other WQL-based query, or adapt the column list and joins to add more detail if you’re building it out as a full SSRS report — useful additions include last logon timestamp or OU, so you can prioritise which discovered-but-unmanaged machines to chase first. Remember that discovery and client installation are separate processes in ConfigMgr — a device showing up in this query just means it’s been discovered, not that a push install has necessarily been attempted or failed.

Still Current on Configuration Manager 2603 (Updated for 2026)

SMS_R_System.Client and the discovery-vs-installation distinction described above are unchanged on Configuration Manager 2603, the current release as of August 2026. If you’re building this out as a recurring report rather than a one-off query, it’s worth joining in SMS_R_System.AgentName (Discovery Data Manager’s discovery-method array) so you can see at a glance whether a given unmanaged machine came from AD System Discovery, Network Discovery, or another source — that context often tells you immediately why it was never pushed a client in the first place (for example, a Network Discovery-only entry for a printer or switch rather than an actual endpoint).

Resources

🛠️

Gear We Recommend

Testing configs is easier with a dedicated admin machine set up right. Here’s the kit we use.

Browse our Windows Admin Toolkit picks on Amazon

As an Amazon Associate, TechyGeeksHome earns from qualifying purchases.


Discover more from TechyGeeksHome

Subscribe to get the latest posts sent to your email.

Andrew Armstrong

Andrew Armstrong is a UK-based IT professional with 26+ years of hands-on experience in Windows, Windows Server, SCCM/ConfigMgr, Active Directory, PowerShell, and enterprise infrastructure.

He founded TechyGeeksHome in 2010 and has published over 1,500 practical guides covering real-world IT problems and solutions. When not solving IT problems,

Andrew develops free Windows utilities including Ultimate Settings Panel, which has been downloaded over 850,000 times.