SCCM Inventory + WMI Classes

Hi,
I have received a below request from my client, and due to my lack of knowledge i am unable to answer this query.
Kindly guide me to right direction.
Can you please confirm which of the following inventory data we are capturing in SCCM?  Note that all of these data are from the class “Custom Inventory Collection”.  I’m not looking for OS_LANGUAGE from the canned inventory,
I’m looking for the “custom inventory collection” data.
<customInventory>
<items>
<item name="MUI_LANGUAGE " Inventory Collection" type="wmi" namespace="ROOT\CIMV2" query="SELECT * FROM Win32_OperatingSystem">Locale</item>
<item name="OS_LANGUAGE" Inventory Collection" type="wmi" namespace="ROOT\CIMV2" query="SELECT * FROM Win32_OperatingSystem">OSLanguage</item>
<item name="MANUFACTURER" Inventory Collection" type="wmi" namespace="ROOT\CIMV2" query="SELECT * FROM Win32_ComputerSystem">Manufacturer</item>
<item name="MODEL" Inventory Collection" type="wmi" namespace="ROOT\CIMV2" query="SELECT * FROM Win32_ComputerSystem">Model</item>
<item name="VERSION" Inventory Collection" type="wmi" namespace="ROOT\CIMV2" query="SELECT * FROM Win32_ComputerSystemProduct">Version</item>
<item name="SKU" Inventory Collection" type="wmi" namespace="ROOT\CIMV2" query="SELECT * FROM Win32_ComputerSystemProduct">SKUNumber</item>
<item name="SERIAL" Inventory Collection" type="wmi" namespace="ROOT\CIMV2" query="SELECT * FROM Win32_ComputerSystemProduct">IdentifyingNumber</item>
<item name="CONFIGOMATIC_COMMUNITY" Inventory Collection" type="registry">HKEY_LOCAL_MACHINE\Software\Bell Sygma\Common\Community</item>
<item name="SYMPHONY_COMMUNITY" Inventory Collection" type="registry">HKEY_LOCAL_MACHINE\Software\Symphony\Build\Community</item>
<item name="CONFIGOMATIC_IMAGE_VER" Inventory Collection" type="registry">HKEY_LOCAL_MACHINE\SOFTWARE\BesiInfo\Install\ImageVer</item>
<item name="SYMPHONY_IMAGE_VERSION" Inventory Collection" type="registry">HKEY_LOCAL_MACHINE\SOFTWARE\Symphony\Build\ImageVersion</item>
<item name="SYMPHONY_RELEASE_VERSION" Inventory Collection" type="registry">HKEY_LOCAL_MACHINE\SOFTWARE\Bell\Plateforme_Info\Release\Version</item>
<item name="CORE_IMAGE_VERSION" Inventory Collection" type="registry">HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Image_Version</item>
<item name="CORE_VERSION" Inventory Collection" type="registry">HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Core_Version</item>
<item name="REGISTERED_ORGANIZATION" Inventory Collection" type="registry">HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization</item>
<item name="CONFIG_OEM" Inventory Collection" type="registry">HKEY_LOCAL_MACHINE\SYSTEM\Setup\OEMDuplicatorString</item>
<item name="CONFIGOMATIC_IMG_VERSION" Inventory Collection" type="registry">HKEY_LOCAL_MACHINE\SOFTWARE\BESIInfo\ImgVersion</item>
<item name="SYMPHONY_CUSTCODE" Inventory Collection" type="registry">HKEY_LOCAL_MACHINE\SOFTWARE\Symphony\Build\CustCode</item>
<item name="BCCS_COMMUNITY" Inventory Collection" type="registry">HKEY_LOCAL_MACHINE\SOFTWARE\Bell\Common\Community</item>
<item name="CORE_PROFILE_VERSION" Inventory Collection" type="registry">HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Profile_Version</item>
<item name="IMAGE_LANGUAGE" Inventory Collection" type="registry">HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\COMPUTER_LANG</item>
<item name="SYMPHONY_MUI_LANGUAGE" Inventory Collection" type="registry">HKEY_LOCAL_MACHINE\SOFTWARE\Symphony\Build\UILang</item>
</items>
</customInventory>
The Lightning Khan

Hi Jason,
The above XML snippet was sent by client, and i was not quite sure where he got that from.
However both SMS_Def.mof and Configuration.mof files made things clear and was able to answer the query.
Below post really helped me a lot.
http://myitforum.com/cs2/blogs/jsandys/archive/2009/06/12/configuration-mof-vs-sms-def-mof.aspx 
Thanks.
The Lightning Khan

Similar Messages

  • Hardware Inventory - WMI Class or Registry extend Problem (NULL Values)

    Hello guys,
    I need your help please,
    I'm New to SCCM 2012, I'm trying to extend the hardware inventory, here's the steps:
    1. Default Client Settings -> Hardware Inventory -> Set Classes,
    2. For WMI - I import Class from Workstation in the network for example Root\Cimv2\TerminalServices -> Win32_TSDeploymentSettings 
    For Registry Import i use reg2mof - then import the mof file and enable it.
    If i do anything wrong, please let me know as well,
    Now for the problem...
    I can see data in the database for one computer(record) but when i import more then one computer the database has NULL Values for most of the imported data
    i can't find any solution for this problem, if you know what to do PLEASE HELP
    Thanks
    Avshalom

    After you import the classes you need to wait for hardware inventory to occur. Then the null will change to the real data.
    For registry keys, make sure that you also add the mof edit to the configuration.mof too.
    Also remember that if a computer does not have the class it will show null.
    Garth Jones | My blogs: Enhansoft and
    Old Blog site | Twitter:
    @GarthMJ

  • SCCM Client Application Installation WMI Classes and Cycles

    Hi,
    I am writing some software to monitor application deployements via SCCM - specifcally required applications. The applications installing OK however
    it takes a bit of time for the SCCM console to realize the application has been installed after the client has actually done it.
    So here are my questions:
    1. What client cycle actually sends the status message back to the SCCM database saying "I have installed this application" - I am guessing the
    "Application Deployment EValuation Cycle"?
    2. Which WMI class can I look at that can tell me "when" the SCCM client installed the application?
    Thanks,
    Ward

    To add to Torsten's answer here, there is no client cycle/action for this as it's automatic (see Torsten's answer). The App Deploy Eval cycle is for re-evaluating global conditions and application requirements on an on-going basis to ensure they are still
    enforced and has nothing to do with reporting back to the site.
    For part 2, CCM_Application should also get you what you are looking for on the client side but that's pretty inefficient for anything thing more than one-of deployments in small environments. Why not use reporting?
    Jason | http://blog.configmgrftw.com | @jasonsandys

  • Which WMI class stores the Service Window informations in Client

    can anyone tell me which WMI class/Properties stores the information about service window for a client?
    I want to know what is start time & end time of that service window and next service window time.

    Configmgr report for Next service Maintance window : http://sccmfaq.wordpress.com/2013/08/22/sccm-2012-show-next-effective-maintenance-window/
    and http://eskonr.com/2010/11/sccm-report-computers-with-maintenance-window/
    Eswar Koneti | Configmgr blog:
    www.eskonr.com | Linkedin: Eswar Koneti
    | Twitter: Eskonr

  • What's the WMI class name to get Client Approval status

    What's the WMI class name to get Client Approval status.
    Unfortunately the below example with class "SMS_R_System" does not have the approval status
    Get-WmiObject -Namespace "root\sms\site_LAB" -Class SMS_R_System | fl *
    I listed all the available classes and... yeah It's going to take along time to go though all the possibilities.
    Note: I'm running this in powershell on the primary first
    If anyone knows it... I'd appreciate your help

    This is all still in the testing phase so I'm not sure this is the best solution... but here's my problem and idea to resolve it.
    Currently in our environment OSD can only be run against unknown computers and approved clients.
    I currently automatically approve all clients in a trusted domain. So all systems that succeed OSD and auto join the domain are approved and I can always run OSD against those machines in the future.
    Problem is with the systems that fail OSD for any reason and therefore do not automatically join the domain. They end up getting a SCCM record by the name of "Unknown" and therefore cannot run OSD again until the "Unknown" record
    is deleted. "Unknown" records happen too frequently to manually delete and I'm not too comfortable with just deleting ALL of them on a scheduled basis.
    Additionally there are way too many OU's in my environment to automatically join our OSD'd systems to the domain. So I have a script that checks using a prestart command to see if the system is already in AD, and if so then OSD continues and simply
    joins the machine to the domain in it's current OU. If not the tech is given a nasty error message telling them to add the computer object in AD in the proper OU first.
    I intend to check , with a Prestart Command if the current system already has a record in SCCM and delete it if found AND is not approved yet. This should resolve the "There are no task sequences available" error I get with
    systems that have an "Unknown" SCCM record.
    In this way the system will be essentially approved if the system was already prestaged in AD manually by a technician and any "unknown" record for that system will simply be deleted at the point of OSD.
    Note: Although I can easily use the new SCCM Powershell cmdlettts and get the "Approved" status, I need to do all of this in WinPE without the cmdletts. If this property is not available via WMI, then I'm guessing this will not work.

  • WMI Class Reference for Dynamics CRM Performance Counters

    Hello,
    I am trying to monitor a MS Dynamics CRM 2013 instance using the
    Performance Counters provided. 
    I will be writing VB Script to collect the performance counter data via WMI. 
    I couldn't find out the WMI class reference the Dynamics CRM 2013 performance counters.  
    What I meant was, some thing similar to the 'Windows Server Cluster' Object and Performance counter class, as given below.
    https://msdn.microsoft.com/en-us/library/aa965285%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396
    Help me on this.
    Regards,
    Krishna.

    Hi David,
    Sorry for posting in the wrong forum. Will correct it in future.
    I can't use the Perfmon as I have a java application which will call the VB Script periodically to collect the data. I need to write both VB Script and Powershell scripts. I need to have the class reference to understand the data type of each attribute in
    a performance counter. For ex,
    The 'CRMAuthentication' counter has the following attributes. 
    Caption
    ClaimsAuthenticationAttemptsInTheLastMinute
    ClaimsAuthenticationFailuresInTheLastMinute
    Description
    It is necessary to understand the datatype each attributes in the all Performance Counters. 
    Regards,
    Krishna.

  • Do we have any WMI class so that we can use it for Drive Extension?

    Do we have any WMI class so that we can use it for Drive Extension?

    Could you please provide some more information about what you are trying to accomplish? 
    Do you need a WMI class because you are trying to write a program?
    By 'drive extension' do you mean extending a volume that resides on a drive?
    If trying to accomplish this via scripting, you can readily use diskpart.
    You don't say what operating system you are working with - PowerShell 4.0 that comes with Windows 8.1 and Windows Server 2012 R2 has a Resize-Partition cmdlet.
    I could go on guessing, but more information from you would be helpful.
    .:|:.:|:. tim

  • Msvsm_Virtualization Wmi Classes for Windows Server 2008 r2

    I am trying to use a command line interface, for HyperV. It requires using Windows WMI Classes named "Msvm_VirtualSystemManagementService" , in the windows namespace
    : "root\virtualization\v2" . The following are available in Windows Server 2012. But I need the same for windows server 2008 r2.
    Please help me installing those classes.
    Thank you.

    Hi,
    Any updates?
    Besides, you may have interests in the below article:
    The v2 WMI namespace in Hyper-V on Windows 8
    Best regards
    Michael Shao
    TechNet Community Support

  • Getting Help on WMI Classes

    Hi,
    Does PowerShell provide help for WMI classes? I know Get-Help <cmdlet> gives information about the cmdlet. But is there something like, Get-Help <WMI class> which gives the information about the WMI class?
    Ex: Get-Help Win32_Bios
    Thanks!
    NM

    No.  Searcch with your search engine.
    --->> TechNet win32_bios class
    https://www.google.com/#newwindow=1&q=technet+win32_bios+class
    ¯\_(ツ)_/¯

  • SCCM 2012, WMI, and SCCM Clients

    I have SCCM 2012 R2 CU2. I know that WMI has to be working for SCCM to be fully functional. I've done some reading on what I'm about to ask but I'd like to get some clarification on these points as I'm not totally clear on a few things:
    1) If when using wbemtest you discover there is no WMI connectivity between the DCs and siteserver to/from a client, including a non-domain member client, will the SCCM client install on that client machine?
    2) After the SCCM client is installed on a client machine, how essential is WMI connectivity to that SCCM client functioning?
    3) Was parts of SCCM use WMI?
    4) What permissions, including within DCOM, are needed for WMI to work with SCCM?
    Thanks.
    Ben JohnsonWY

    <...>
    I'm now back to getting that 0x80070427 error. That error code is also on another server (and with the same software and main functionality) that's on another domain but for now we'll stick with the server we've been talking about.
    <...>
    So the root question is, what is causing that 0x80070427. There's almost zilch on that error code on the internet.
    cmtrace is your friend :)
    open cmtrace, press CTRL+L and paste in the error/HRESULT:
    Lookup: 0x80070427
    Result:The service process could not connect to the service controller.
    Source: Windows
    Note that ConfigMgr relies heavily on non-ConfigMgr components, i.e. Windows base services/features. If those base services/features are mis-configured / disabled / broken, ConfigMgr *will* be impacted.
    In this case, the "Source: Windows" tells us that a Windows component is throwing the error.
    There should be additional/further detail/information available for this event in the log. Research that.
    The logs on the client will probably need to be examined, including the Windows event logs, to see why the service and service-controller are throwing this error. IF it's happening on two servers, and those servers both have  "the same software
    and main functionality", I'd be immediately suspicious of that software/function - perhaps that software is the cause of the service/controller issue..
    Don
    (Please take a moment to "Vote as Helpful" and/or "Mark as Answer", where applicable.
    This helps the community, keeps the forums tidy, and recognises useful contributions. Thanks!)

  • Custom Reporting on Imported Hardware Inventory set classes for USB Super Speed driver

    I am trying to create a report with report builder 3.0 to pull data on a USB Super Speed driver under
    ClassContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class{36fc9e60-c465-11cf-8056-444553540000}")
    I tried following the article
    http://blogs.technet.com/b/configmgr_geek_speak/archive/2013/11/10/inventorying-and-reporting-network-adapter-driver-details-and-how-to-report-only-the-wireless-type-in-configuration-manager-2012.aspx and changed a few of the Class descriptions and cannot
    get any data in the report. 
    I imported this into the Hardware Inventory set classes:
    #pragma namespace ("\\\\.\\root\\cimv2\\sms")
    [ SMS_Report (TRUE),
    SMS_Group_Name ("USB"),
    SMS_Class_ID ("MICROSOFT|USB|1.0"),
    Namespace ("\\\\\\\\localhost\\\\root\\\\cimv2") ]
    class Win32Reg_USB : SMS_Class_Template
    [SMS_Report (TRUE), key ]
    string Index;
    [SMS_Report (TRUE) ]
    string DriverDesc;
    [SMS_Report (TRUE) ]
    string DriverVersion;
    [SMS_Report (TRUE) ]
    string DriverDate;
    [SMS_Report (TRUE) ]
    string ProviderName;
    Under the Configuration.mof file I am not sure what to change in order to report on this.  Any help appreciated.  We are looking for all of the USB super speed driver details.
    Thanks,
    Brit

    have you looked at V_GS_system_Device if your device info available or not ? Use the below SQL query to list all system devices on your clients. 
    SELECT DISTINCT name0 FROM v_GS_SYSTEM_DEVICES 
    GROUP BY name0
    Eswar Koneti | Configmgr Blog: www.eskonr.com | Linkedin: Eswar Koneti
    | Twitter: eskonr

  • WMI class to list dynamic volume groups

    Hi,
    All the WMI classes list only basic Volume Groups and not the dynamic groups.
    Even the disk management does not list dynamic groups.
    Why is this?
    and is there any way WMI can list these dynamic groups ?
    Dynamic groups basic info: 
     http://technet.microsoft.com/en-us/library/cc737048%28v=ws.10%29.aspx
    Thanks
    Randeep

    We canaslo use this:
    DISKPART> list disk
      Disk ###  Status         Size     Free 
    Dyn  Gpt
      Disk 0    Online          465 GB      0 B          *
    ¯\_(ツ)_/¯

  • SCCM Inventory (Vmware/Vcores/Esxi)

    Hello All,
    We're looking into using SCCM as (one) of the main sources of information that will be used for a software asset management reporting tool. One of the key elements for getting an accurate license position is to not only determine what you have installed
    but also what the hardware beneath the virtualization layer consist of.
    I assume it's impossible to determine with SCCM (certainly in the non-hyper-v area) what the hardware of the underlying host is.
    Would other tricks as connecting VMM to vcenter deliver extra 'inventory' information to SCCM or would the above requirement lead to a connector from the reporting tool to for example vcenter to read out host data and do the vm host <> blade linking....?

    First, a (major) correction: Hyper-V is absolutely a (type 1) bare metal hypervisor.
    Next, ConfigMgr is not a CMDB. As mentioned, ConfigMgr manages OSes. It does not manage hardware. The hardware information that ConfigMgr has is because the OS exposes that information. OSes within guest virtual machines do not know or have visibility into
    their underlying hypervisor and thus ConfigMgr has no way of knowing anything.
    As for VMM, there is no real connection between VMM and ConfigMgr. Just to say it one more time, ConfigMgr manages OS instances. VMM manages hypervisors and virtual hosts. The two are complimentary, but do not overlap in purpose or functionality.
    Finally, the webcast I just presented last week in conjunction with Secunia showed how to use custom DDRs to pull information from any system, like vSphere and add that informatin to ConfigMgr for this exact scenario (I'm not sure if the recording has been
    posted yet or not though).
    Jason | http://blog.configmgrftw.com

  • Referencing WMI Manageable class from another WMI Class

    Hi,
    I am trying to have WMI manageable class referring to another WMI manageable class
    Something like
    [ManagementEntity]
    Class A
    [ManagementEntity]
    Class B
            [ManagementReference(Type = "A")]
            [ManagementProbe]
            public A AClass;
    When trying to install the class, I am getting “Type unsupported”
    I tried the Microsoft
    ManagementReference sample,
    http://msdn.microsoft.com/en-us/library/system.management.instrumentation.managementreferenceattribute.aspx
    (working fine but the LetterPhonetic class won’t show on the WMI Object Browser)
    Ideas will be highly appreciated
    My Sample code
    using System;
    using System.Management.Instrumentation;
    using System.Collections.Concurrent;
    using System.Collections;
    [assembly: WmiConfiguration("root\\ConsoleC", HostingModel = ManagementHostingModel.Decoupled)]
    namespace ConsoleDecoupled
        [System.ComponentModel.RunInstaller(true)]
        public class TheInstaller : DefaultManagementInstaller
        public class Program
            public static void Main(string[] args)
                for (int i = 0; i < 10; ++i)
                    TestEnumWmi ms = TestEnumWmi.CreateTestEnumWmi();
                    ms.teststring = i.ToString();
                InstrumentationManager.RegisterType(typeof(TestEnumWmi));
                InstrumentationManager.RegisterType(typeof(RuntimeConfigSettings));
                Console.WriteLine("Press enter to exit");
                Console.ReadLine();
                InstrumentationManager.UnregisterType(typeof(TestEnumWmi));
                InstrumentationManager.UnregisterType(typeof(RuntimeConfigSettings));
        [ManagementEntity(Singleton = true, Name = "ConfigurationSample")]
        [ManagementQualifier("Description", Value = "Configuration Sample Application")]
        public class RuntimeConfigSettings
            [ManagementProbe]
            public string[] ReadMe;
            private int myVar;
            [ManagementConfiguration]
            public int MyProperty
                get { return myVar; }
                set { myVar = value; Console.WriteLine(value); }
            [ManagementReference(Type = "TestEnumWmi")]
            [ManagementProbe]
            public TestEnumWmi MSS;
            [ManagementBind]
            public RuntimeConfigSettings()
                ReadMe = new string[10];
                for (int i = 0; i < 10; ++i)
                    ReadMe[i] = "blah " + i;
        [ManagementEntity(Name = "TestEnumWmi")]
        public class TestEnumWmi
            private TestEnumWmi()
            static internal TestEnumWmi CreateTestEnumWmi()
                TestEnumWmi ms = new TestEnumWmi();
                ms._id = Guid.NewGuid().ToString();
                ms.teststring = "blah";
                ms.TestInt = new Random().NextDouble();
                instantlist.TryAdd(ms._id, ms);
                return ms;
            [ManagementConfiguration()]
            public double TestInt { get; set; }
            [ManagementConfiguration()]
            public string teststring { get; set; }
            [ManagementKey(Name = "ID")]
            public string _id;
            [ManagementBind]
            static public TestEnumWmi GetInstant([ManagementName("ID")] string ID)
                TestEnumWmi ms = null;
                if (instantlist.TryGetValue(ID, out ms))
                    return ms;
                else
                    throw new InstanceNotFoundException();
            [ManagementEnumerator]
            static public IEnumerable EnumerateTestEnumWmis()
                foreach (var i in instantlist)
                    yield return i.Value;
            static internal ConcurrentDictionary<string, TestEnumWmi> instantlist = new ConcurrentDictionary<string, TestEnumWmi>();

    Hi,
    The Microsoft ManagementReference sample you mentioned contains a bug:
    Instead of:
    inst.LetterNumber = "Letter = " + i;
    inst.PhoneticNumber = "Phonetic = " + i;
    The exact text (where spaces in the string are important and must be removed) should be:
    inst.LetterNumber = "NumberLetter.Number=" + i;
    inst.PhoneticNumber = "NumberPhonetic.Number=" + i;
    With this fix, the hierarchy can now be navigated properly.
    c.f. my response to the following blog post:
    http://juggledthoughts.blogspot.co.uk/2008/06/wmi-association-classes.html
    I have also
    logged a bug on MSDN Feedback so please vote on this if you'd like them to fix the sample.

  • How to run WMI class.method?

    How to run Enable()/Disable() methods using Win32_NetworkAdapter class?
    Method link: http://msdn2.microsoft.com/en-us/library/aa390385(VS.85).aspx
    This only part of solution. http://forums.ni.com/ni/board/message?board.id=170&message.id=165837&query.id=73951#M165837
    Thanks.

    You should be able to do this using a .vbs script and labview.
    See this thread for some .vbs examples.
    http://forums.ni.com/ni/board/message?board.id=170&message.id=144519#M144519

Maybe you are looking for

  • Printing date in the actual picture?

    Hi, I have iPhoto on two machines. One older and one newer. However, I cannot figure out how to save an image with the date -in- the image. My wife wants to print photos that included the date taken on the picture. Is there a way I can do this in iPh

  • FM in LSMW

    Hii Cant we use function modules in LSMW?? I want to upload HR master data using LSMW and for this I want to use the function module HR_MAINTAIN_MASTERDATA..but if FM are not used, then is there any BAPI for the same purpose?? BTW, why cant we use FM

  • Weblogic reports error that a datasource exists

    i have a database that was set up in weblogic, and I could see the JDBC connections, but removed this, saved settings and no longer view them in the application in weblogic, nor are the entries in the tools properties file or config.xml. but the syst

  • ITunes got an error: An error of type 9037 has occurred

    My playlist sometimes produces this error on play from a Applescript: "iTunes got an error: An error of type 9037 has occurred" It happens if it is a smart playlist or a playlist. I thought it may be due a bad podcast reference as there was one mp3 p

  • Where have my printers gone??

    After installing leopard my printer drivers have been deleted?? I lost my home printer, work printer and my pdf printer drivers