Configure SCCM 2012 to Inventory RAID Controller Drivers

Nicolas PilonHardware Inventory, SCCM, SQLLeave a Comment

RAID controller is a device used to manage hard disk drives (HDDs) or solid-state drives (SSDs) in a computer or storage array. It has the ability to access multiple copies of data on multiple physical devices and improve performance with data protection in case of a system failure.

We suggest to keep your RAID controller drivers updated to have the latest fixes from the manufacturer. In this post, we will show you how to configure SCCM 2012 to inventory RAID controller drivers to prepare a deployment targeting the affected systems. We will show how to modify SCCM 2012 hardware inventory classes to get this information.

RAID Controller Drivers Information

You can find RAID controller drivers information in System Information.

  • Launch System Information from msinfo32.exe directly from Run in Start Menu
  • Expand Components / Storage / SCSI

Configure SCCM 2012 to Inventory RAID Controller Drivers

In the WMI, the information of RAID controller is in WIN32_SCSIController but it doesn’t include driver version. In this case, you can use registry to be able to gather drivers.

  • Open Registry Editor with regedit.exe from Run in Start Menu
  • Search for key name HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e97b-e325-11ce-bfc1-08002be10318}

Configure SCCM 2012 to Inventory RAID Controller Drivers

Customize Hardware Inventory

Once you’ve target the RAID controller drivers in the registry, you will configure SCCM 2012 to gather the data on a larger scale. Because the information comes from the registry, we will use configuration.mof. This process give the possibility to customize a WMI class with information like registry. Each time devices request policy with his management point, the configuration.mof file is compiled by clients and automatically create or update custom class.

To update the configuration file, you need to edit manually the file.

  • Navigate to SCCM installation folder \SCCM\inboxes\clifiles.src\hinv on the top level of your hierarchy (CAS or Primary).
  • Create a backup of the file and Open mof file with your favorite text editor
  • Copy and Paste below code at the bottom of the file then Save
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// RAID Controller Drivers
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#pragma autorecover
#pragma namespace ("\\\\.\\root\\cimv2")
#pragma deleteclass("Win32_RAIDControllerDrivers", NOFAIL)
[dynamic,provider("RegProv"),ClassContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E97B-E325-11CE-BFC1-08002BE10318}")]
class Win32_RAIDControllerDrivers
{
    [key]      
        string    ID;
    [PropertyContext("ProviderName")]     
        string    ProviderName;
    [PropertyContext("DriverDesc")]     
        string    DriverDesc;
    [PropertyContext("DriverVersion")]     
        string    DriverVersion;
    [PropertyContext("DriverDate")]     
        string    DriverDate;
};
  • On a test device, manually compile new modified mof by executing mofcomp.exe configuration.mof from command line and file source folder
  • Use your favorite WMI tools and Execute this command: SELECT * FROM Win32_RAIDControllerDrivers to confirm that the custom WMI class is properly created

Configure SCCM 2012 to Inventory RAID Controller Drivers

Now that you have confirmed that the new mof file works, it’s time to configure the hardware inventory in SCCM 2012 client settings.

  • From the SCCM console, navigate to Administration / Overview / Client Settings
  • Right click on Default Client Settings and select Properties
  • On the left ribbon, select Hardware Inventory and select Set Classes
  • Click on Add and Connect
  • Enter the Computer Name where you manually compile the new mof
  • Make sure Recursive is selected and click Connect

Configure SCCM 2012 to Inventory RAID Controller Drivers

  • Once you see the complete list of WMI Classes, search for Win32_RAIDControllerDrivers
  • Select and click Ok

Configure SCCM 2012 to Inventory RAID Controller Drivers

  • From the Hardware Inventory Classes properties, verify that the new class WIN32_RAIDControllerDrivers is selected and click Ok

Verification

Wait for next machine policy and next hardware inventory cycle on each computers. You will see custom WMI class been taken on the device by searching for this specific message in inventoryagent.log in CCM\Logs.

Collection: Namespace = root\cimv2; Query = SELECT __CLASS, __PATH, __RELPATH, ID, DriverDate, DriverDesc, DriverVersion, ProviderName FROM Win32_RAIDControllerDrivers; Timeout = 600 secs.

Once devices start to send RAID controller drivers data to SQL database, verify data by executing below query using open SQL Management Studio.

SELECT
RI.ResourceID, RI.ID0 AS ID00, RI.ProviderName0 AS ProviderName, RI.DriverDesc0 AS DriverDescription, 
RI.DriverVersion0 AS DriverVersion, RI.DriverDate0 AS DriverDate
FROM  dbo.v_GS_RAIDControllerDrivers AS RI

You will see something like this.

Configure SCCM 2012 to Inventory RAID Controller Drivers

Be sure to check all steps if you have no data in the SQL database.

Reporting

Now is the time to have fun and shown to your management the data by creating custom reports. If you don’t have time to build something on your own, you can use the report Asset – Hardware from our products. Select RAID Controller in the menu as additional hardware information and you will see all RAID controller drivers in your environment.

Configure SCCM 2012 to Inventory RAID Controller Drivers

Configure SCCM 2012 to Inventory RAID Controller Drivers

Are you managing your RAID controller drivers with SCCM? Share your tips and tricks in the comment section.

Leave a Reply

Your email address will not be published. Required fields are marked *