Friday, December 11, 2009

Organization wide RAM usage Inventory using Configuration Manager - SCCM

You are asked to give a comprehensive hardware inventory of all computers in your organization, specially how many DIMM are in use of which computer and how much RAM each computer has. And if you are one of those people like me who have no concept of saying NO, then following will help you greatly!!!
If you have System Center Configuration Manager then this task becomes easy.
  1. First copy the following text to (on the SCCM server)C:\Program Files (x86)\Microsoft Configuration Manager\inboxes\clifiles.src\hinv\sms_def.mof
    (end of the file is a good place)
    [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)] string Model;
    [SMS_Report (TRUE)] string Name;
    [SMS_Report (TRUE)] string OtherIdentifyingInfo;
    [SMS_Report (TRUE)] string PartNumber;
    [SMS_Report (TRUE),Key] string    Tag;
    [SMS_Report (TRUE),Key] string    CreationClassName;

  2. If you do not have a deadline for submitting the inventory you can let SCCM run the hardware inventory on its on schedule, but if it is urgent that you get this done as soon as possible then you can force a hardware inventory.

  3. Still I suggest you run this overnight and the next day create a query with the following attributes.


    Or use the following in Query Language

    select SMS_R_System.Name, SMS_R_System.IPAddresses, SMS_R_System.MACAddresses, SMS_R_System.LastLogonUserName, SMS_G_System_PHYSICAL_MEMORY.* from  SMS_R_System inner join SMS_G_System_PHYSICAL_MEMORY on SMS_G_System_PHYSICAL_MEMORY.ResourceID = SMS_R_System.ResourceId

  4. Now you can export the list, open it in excel and make a presentable report by using pivot table.

No comments:

Post a Comment

Leave a comment if you find this post useful or if you have any questions