Skip to main content

Dell and HP Needed Drivers - Custom CM Inventory

ofelman recently updated https://github.com/ofelman/Analyzer, a way to identify available updates (softpaqs); that got me to wondering if I could redirect that to the CM Database for reporting.

This would allow the team (ok, a Team of 1) which needs to be aware of driver updates for HP workstations to have a more cohesive way to know what updates are needed in the environment.

Both Dell and HP have utilities to do this, on a case by case basis.

Dell uses "Dell Command | Update", or DCU-CLI.exe. 
Pre-requisites for this routine to work on your Dell workstations is that https://www.dell.com/support/home/en-us/drivers/driversdetails?driverId=0XNVX is installed on them.
The Configuration Item looks for the existence of %programfiles(x86)%\Dell\CommandUpdate\dcu-cli.exe to determine if it is possible to run.

HP you will need the HP Client Management Script Library.

Taking those utilities, attached are a Baseline, and two Configuration Items.  One Configuration Item is applicable if the HP Client Management Script Library is installed, the other Configuration Item is applicable if Dell Command Update is installed.

This means you can deploy the baseline as-is to your entire environment, but it will only bother to try to run, if the ability to report exists.

Another pre-requisite is that the Configuration Items run in the SYSTEM context.  Please be sure to TEST that these routines work in your environment.  It may be that your firewall rules prohibit SYSTEM context from looking up information; both routines may require Internet access. 

Your results could look like this:

How to Implement:

  • If not already deployed, deploy "Dell Command | Update" to your Dell workstations.
  • If not already deployed, deploy "HP Client Management Script Library" to your HP Workstations.
  • Import the --> Attached <-- is an Exported Baseline for you to import to your CM Console.  It is 1 baseline, with your Configuration Items inside.  One CI for HP, One for Dell.
  • Deploy the Baseline to TEST devices.
  • After your Test devices run the Baseline, interactively check wmi, root\cimv2\cm_HWUpdates, and see if data is returned.
  • If data is returned, yay!  From the attached .zip you downloaded, will also be a 'ToBeImported.RenameTomof'.  After renaming the file to .mof, go to your console, Administration, Client Settings, Default Client Settings (right-click properties), Hardware Inventory, Set Classes... and Import. By default it imports with reporting set to FALSE.  
  • Monitor your server log dataldr.log, to confirm that the table and view is successfully created.
  • Back in your console, Administration... either on 'Default Client Settings', or if you have done custom client agent settings targeted to 'Workstations' (as an example), enable that inventory (check the box) there.
  • Wait a bit.
  • On one of those Test devices that you confirmed had data in root\cimv2\cm_HWUpdates, do a few machine policy refreshes.  Then trigger a Hardware Inventory.
  • Wait again.
  • In the attached were some sample SQL queries.  Try to run one of them, and see if you get results.  If so, create custom reports using those sql queries as a base.

If after testing the baseline, and you find that your device(s) did NOT populate WMI with anything useful, you may need to extract the powershell queries, and test them interactively, as SYSTEM, to see if there are problems.  One potential issue I could see in some environments is that when as SYSTEM, the device cannot look up things on the Dell or HP internet sites.  It would take a lot of testing and experimentation, but we 'could' get around that by running the scripts 'as a logged on user' -- but that introduces its own challenges (Primarily needing to make a custom namespace, and opening up permissions to users, to put a custom class there instead of in root\cimv2; it's possible...but much more challenging).  And even running 'as the logged on user' may or may not work in your environment--it depends on your security practices.

CMCB

  • Created on .