--Finding computer is 32 bit or 64 bit is easy from SCCM... here is SQL query............
SELECT Distinct SYS.Netbios_Name0, CS.Model0,CPU.Name0 AS [CPU Name], CASE WHEN CPU.Is64Bit0 = 1
THEN 'Yes' ELSE 'No' END AS [CPU 64-Bit],ROUND(CONVERT(FLOAT,CPU.MaxClockSpeed0), -2)/1000
AS [CPU (GHz)],
ROUND(ROUND(CONVERT(FLOAT,MEM.TotalPhysicalMemory0) / 1048576, 2) , 1)
AS [RAM (GB)],[TPM Chip]=(SELECT v_GS_SYSTEM_DEVICES.Name0
FROM v_GS_SYSTEM_DEVICES WHERE v_GS_SYSTEM_DEVICES.ResourceID=SYS.ResourceID AND
v_GS_SYSTEM_DEVICES.Name0 LIKE '%Trusted Platform%') ,LDISK.DeviceID0,LDISK.Size0/1024
AS [Size (GB)],LDISK.FreeSpace0/1024 AS [Free Space (GB)] FROM v_R_System SYS LEFT JOIN
v_GS_LOGICAL_DISK LDISK on SYS.ResourceID = LDISK.ResourceID LEFT JOIN
v_GS_COMPUTER_SYSTEM CS on SYS.ResourceID = CS.ResourceID LEFT JOIN
v_GS_X86_PC_MEMORY MEM on SYS.ResourceID = MEM.ResourceID LEFT JOIN
v_GS_Processor CPU on SYS.ResourceID = CPU.ResourceID LEFT JOIN
v_GS_SYSTEM_DEVICES DEV on SYS.ResourceID = DEV.ResourceID
WHERE LDISK.DeviceID0 = 'C:' AND CS.Model0 NOT LIKE '%VMWARE%'
ORDER BY SYS.Netbios_Name0