Ask a questionAsk a question
 

General DiscussionQueries on Lenovo System Family

  • Thursday, June 18, 2009 1:28 PMDiener,Shaun Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Hi,

    I would like to know if there is a way in SCCM, i am able to pull a Query on Lenovos actual System Family model for instance T400 or a T61 etc.
    In the registry, it mentions the T400 or T61 as "SystemFamily" and "SystemVersion" and cant correlate this in SCCM.

    Can it be done. Please shed some light.
    Shaun

All Replies

  • Thursday, June 18, 2009 2:28 PMKent Agerlund Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Hi,

    I used the MOF Extensions Registry tool by Mark Cochrane to generate the entries to be added to configuration.mof and sms_def.mof. You can download the tool from - http://www.myitforum.com/inc/upload/12336RegKeyToMOF.zip

    In my example I added all the regvalues from the BIOS key. You should run the tool your self and customize it to your needs.

    You can copy this to configuration.mof
    #pragma namespace ("\\\\.\\root\\cimv2")
    #pragma deleteclass("SYS_BIOS", NOFAIL)
    [DYNPROPS]
    Class SYS_BIOS
    {
    [key] string KeyName;
    Uint32 BiosMajorRelease;
    Uint32 BiosMinorRelease;
    Uint32 ECFirmwareMajorRelease;
    Uint32 ECFirmwareMinorRelease;
    String BaseBoardManufacturer;
    String BaseBoardProduct;
    String BaseBoardVersion;
    String BIOSReleaseDate;
    String BIOSVendor;
    String BIOSVersion;
    String SystemFamily;
    String SystemManufacturer;
    String SystemProductName;
    String SystemSKU;
    String SystemVersion;
    };
    [DYNPROPS]
    Instance of SYS_BIOS
    {
    keyname="SystemCenter.fr";
    [PropertyContext("Local|HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\BIOS|BiosMajorRelease"),Dynamic,Provider("RegPropProv")] BiosMajorRelease;
    [PropertyContext("Local|HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\BIOS|BiosMinorRelease"),Dynamic,Provider("RegPropProv")] BiosMinorRelease;
    [PropertyContext("Local|HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\BIOS|ECFirmwareMajorRelease"),Dynamic,Provider("RegPropProv")] ECFirmwareMajorRelease;
    [PropertyContext("Local|HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\BIOS|ECFirmwareMinorRelease"),Dynamic,Provider("RegPropProv")] ECFirmwareMinorRelease;
    [PropertyContext("Local|HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\BIOS|BaseBoardManufacturer"),Dynamic,Provider("RegPropProv")] BaseBoardManufacturer;
    [PropertyContext("Local|HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\BIOS|BaseBoardProduct"),Dynamic,Provider("RegPropProv")] BaseBoardProduct;
    [PropertyContext("Local|HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\BIOS|BaseBoardVersion"),Dynamic,Provider("RegPropProv")] BaseBoardVersion;
    [PropertyContext("Local|HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\BIOS|BIOSReleaseDate"),Dynamic,Provider("RegPropProv")] BIOSReleaseDate;
    [PropertyContext("Local|HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\BIOS|BIOSVendor"),Dynamic,Provider("RegPropProv")] BIOSVendor;
    [PropertyContext("Local|HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\BIOS|BIOSVersion"),Dynamic,Provider("RegPropProv")] BIOSVersion;
    [PropertyContext("Local|HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\BIOS|SystemFamily"),Dynamic,Provider("RegPropProv")] SystemFamily;
    [PropertyContext("Local|HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\BIOS|SystemManufacturer"),Dynamic,Provider("RegPropProv")] SystemManufacturer;
    [PropertyContext("Local|HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\BIOS|SystemProductName"),Dynamic,Provider("RegPropProv")] SystemProductName;
    [PropertyContext("Local|HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\BIOS|SystemSKU"),Dynamic,Provider("RegPropProv")] SystemSKU;
    [PropertyContext("Local|HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\BIOS|SystemVersion"),Dynamic,Provider("RegPropProv")] SystemVersion;

    And this to SMS_Def.MOF
    #pragma namespace ("\\\\.\\root\\cimv2\\SMS")
    #pragma deleteclass("SYS_BIOS", NOFAIL)
    [SMS_Report(TRUE),SMS_Group_Name("SYS_BIOS"),SMS_Class_ID("SYS_BIOS|SYS_BIOS|1.0")]
    Class SYS_BIOS: SMS_Class_Template
    {
    [SMS_Report(TRUE),key] string KeyName;
    [SMS_Report(TRUE)] Uint32 BiosMajorRelease;
    [SMS_Report(TRUE)] Uint32 BiosMinorRelease;
    [SMS_Report(TRUE)] Uint32 ECFirmwareMajorRelease;
    [SMS_Report(TRUE)] Uint32 ECFirmwareMinorRelease;
    [SMS_Report(TRUE)] String BaseBoardManufacturer;
    [SMS_Report(TRUE)] String BaseBoardProduct;
    [SMS_Report(TRUE)] String BaseBoardVersion;
    [SMS_Report(TRUE)] String BIOSReleaseDate;
    [SMS_Report(TRUE)] String BIOSVendor;
    [SMS_Report(TRUE)] String BIOSVersion;
    [SMS_Report(TRUE)] String SystemFamily;
    [SMS_Report(TRUE)] String SystemManufacturer;
    [SMS_Report(TRUE)] String SystemProductName;
    [SMS_Report(TRUE)] String SystemSKU;
    [SMS_Report(TRUE)] String SystemVersion;
    };

    Kent Agerlund | http://agerlund.spaces.live.com/blog/
  • Thursday, June 18, 2009 2:32 PMSherry KissingerMVP, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Another possibiliy, in sms_def.mof is win32_computersystemproduct, by default set to FALSE.  The human-sounding name of Lenovo models is in there.  You could edit sms_def.mof and change that class from FALSE to TRUE, and some of the attributes in there.

    But if there are cooler/better things in the regkeys, you can use those; or turn on both for a while, and see which ones are better for your needs.  You can always disable (change to FALSE) the one you don't feel adds value.

    fyi: Mark Cochrane's RegKeytoMof is the coolest thing I've seen in years; here's a blog entry of my first experience playing with it: http://myitforum.com/cs2/blogs/skissinger/archive/2009/04/13/mark-cochrane-s-regkeytomof.aspx

    Standardize. Simplify. Automate.