SCCM Hardware inventory custom queries 1

 The following SQL query retrieves key details that most customers commonly request:

  • Computer Name and Organizational Unit (OU)
  • Client Status (Active/Inactive)
  • Processor and Memory Details
  • Last Logged-On User
  • Last Hardware Scan Date
  • Operating System Version and Build
  • Logical Disk Details (Total and Free Space)

 


SELECT DISTINCT

    s.Name0 AS ComputerName,

    MAX(v_RA_System_SystemOUName.System_OU_Name0) AS 'Computer OU',

    CASE

        WHEN cs.ClientActiveStatus = 1 THEN 'Active'

        ELSE 'Inactive'

    END AS 'ActiveClient',

    cp.name0 AS [Processor Name], 

    v_GS_COMPUTER_SYSTEM.UserName0 AS 'Last Logged-On User',

    v_GS_WORKSTATION_STATUS.LastHWScan,

    os.Caption0 AS 'OS Version',

    os.BuildNumber0 AS 'OS Build',

    STUFF(

        (SELECT ', ' + ld_inner.deviceid0 + ' (' + CAST(ld_inner.Size0/1024 AS VARCHAR(20)) + ' GB, Free: ' + CAST(ld_inner.freespace0/1024 AS VARCHAR(20)) + ' GB)'

         FROM v_GS_LOGICAL_DISK AS ld_inner

         WHERE ld_inner.ResourceID = s.ResourceID

         FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'),

        1, 2, ''

    ) AS DriveInfo,

    m.TotalPhysicalMemory0 / 1000 AS MemoryMB

FROM v_R_System s

INNER JOIN v_GS_X86_PC_MEMORY m ON s.ResourceID = m.ResourceID

INNER JOIN v_GS_PROCESSOR cp ON s.ResourceID = cp.ResourceID

INNER JOIN v_GS_OPERATING_SYSTEM os ON s.ResourceID = os.ResourceID

LEFT JOIN v_RA_System_SystemOUName ON s.ResourceID = v_RA_System_SystemOUName.ResourceID

LEFT JOIN v_GS_WORKSTATION_STATUS ON s.ResourceID = v_GS_WORKSTATION_STATUS.ResourceID

LEFT JOIN v_GS_COMPUTER_SYSTEM ON s.ResourceID = v_GS_COMPUTER_SYSTEM.ResourceID

LEFT JOIN v_CH_ClientSummary CS ON s.ResourceID = cs.ResourceID

LEFT JOIN v_FullCollectionMembership fcm ON fcm.ResourceID = s.ResourceID

GROUP BY

    s.Name0, cp.name0, s.ResourceID, m.TotalPhysicalMemory0,

    v_GS_WORKSTATION_STATUS.LastHWScan, v_GS_COMPUTER_SYSTEM.UserName0, cs.ClientActiveStatus,

    os.Caption0, os.BuildNumber0;

 

 

This will give a result like the one below

 

A screenshot of a computer

AI-generated content may be incorrect.

 

 

 

Popular Posts

Windows 11 24H2 Upgrade using Intune Feature Updates Policy

Deploying a Script through Intune to a Linux PC

Deleting Registry.pol and Forcing Group Policy Update Using a Batch File - Deploy through SCCM

Remove CCMCache, Windows.old, and Temp folders using Powershell script