In certain cases, beside the total amount of physical memory information, it is useful knowing the actual physical memory bank distribution across hardware memory slots. This is especially true when memory upgrade must be considered within the company in order to meet requirements imposed by the new version of client operating system.
By default, this is not included in Configuration Manager hardware inventory which therefore must be extended by editing sms_def.mof file. The Win32_PhysicalMemory WMI class represents a physical memory device located on a computer system and available to the operating system. To include Win32_PhysicalMemory WMI class in the scope of hardware inventory, the following lines should be added to the sms_def.mof file:
//* Physical memory location inventory.
SMS_Group_Name("Physical Memory Location"),
Class Win32_PhysicalMemory: SMS_Class_Template
In this example Capacity, Description, DeviceLocator, Manufacturer, MemoryType, PartNumber, SerialNumber, PositionInRow and Speed properties of the Win32_PhysicalMemory WMI class will be queried and included in hardware inventory.
For a list of all available properties, you may refer to MSDN: Win32_PhysicalMemory Class – http://msdn.microsoft.com/en-us/library/aa394347(v=vs.85).aspx
Once this is done and first managed devices run hardware inventory based on extended sms_def.mof file, you can then create custom Configuration Manager report to display collected information. For a custom Configuration Manager report, the following query can be used:
v_GS_SYSTEM.Name0 AS 'Computer Name',
Capacity0/1048576 AS 'Capacity (MB)',
Description0 AS 'Description',
DeviceLocator0 AS 'Device Locator',
Manufacturer0 AS 'Manufacturer',
PartNumber0 AS 'Part Number',
SerialNumber0 AS 'Serial Number',
MemoryType0 AS 'Memory Type',
PositionInRow0 AS 'Position In Row',
Speed0 AS 'Speed (ns)'
v_GS_SYSTEM ON v_GS_SYSTEM.ResourceID = v_GS_PHYSICAL_MEMORY_LOCATION.ResourceID
ORDER BY v_GS_SYSTEM.Name0