Resources for IT Professionals >
System Center Configuration Manager Forums
>
Configuration Manager Inventory
>
Queries on Lenovo System Family
Queries on Lenovo System Family
- 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
- 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/ - 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.