The question about how to inventory physical RAM chips installed on SMS clients seems to come up a lot. I've created this blog post to create a centralized location for the answer to this question. Anyway, the MOF edit I use for this is below. If you modify this extension be sure to take note of the compound key (Tag and CreationClassName) and array designator [] for DeviceLocator--leave those in the edit or you will have issues...trust me. The SMS_Units property I added is just to make the information more 'human friendly' when displayed in Resource Explorer.
[SMS_Report (TRUE),
SMS_Group_Name ("Physical Memory"),
SMS_Class_ID ("Microsoft|Physical_Memory|1.0")]
class Win32_PhysicalMemory : SMS_Class_Template
{
[SMS_Report (TRUE)] string BankLabel;
[SMS_Report (TRUE), SMS_Units("Megabytes")] uint64 Capacity;
[SMS_Report (TRUE)] string Caption;
[SMS_Report (TRUE)] string DeviceLocator[];
[SMS_Report (TRUE)] uint16 FormFactor;
[SMS_Report (TRUE)] string Manufacturer;
[SMS_Report (TRUE)] uint16 MemoryType;
[SMS_Report (TRUE)] uint32 PositionInRow;
[SMS_Report (TRUE)] uint32 Speed;
[SMS_Report (TRUE),Key] string Tag;
[SMS_Report (TRUE),Key] string CreationClassName;
};
Hope this helps,
~Jeff