Deploy HP MIK Client for ConfigMgr with CI

So HP’s MIK is a tool provided to help manage HP devices using ConfigMgr. I’m not going to go over this in detail, but to get the full benefit of MIK, you need to deploy a client side install which will create several WMI classes that CM will inventory.

Scripts on GitHub: garytown/hardware/HP/MIK

Related Materials:


  • Deploy MIK Client to endpoints & Keep it updated
    • This requires you to watch for MIK Client updates and update the script variable.
  • Keep the HPIA that is embedded into the MIK install current


  • Having HPCMSL already available on the endpoints.
    • It will install a version if one isn’t already there
  • Internet access to

Discovery Process

  • Checks for existance of MIK Client Install
  • Checks for MIK Client Install Version
  • Checks for MIK’s Embedded HPIA Version

If any of those fail, flags as Non-Compliant

Remediation Process

  • Checks for existance of MIK Client & Installs if needed
  • Checks current installed version and updates if needed
  • Checks HPIA version and updates if needed

MIK Client Checks:

HPIA Version Checks:

Custom Functions:

  • Get-HPIALatestVersion
    • Grabs the latest version of HPIA available from
  • Test-HPCMSL
    • Stolen from HP Connect – this will install HPCMSL into a custom location and load module components needed for the script
  • Get-InstalledApplication
    • Run though registry and creates array of installed applications.

In Action on Endpoint

Please let me know if you have questions

For Fun, you can trigger the Baseline with a Run-Script.. get things moving along.
garytown/Invoke-Baseline.ps1 at master · gwblok/garytown · GitHub

After Client is deployed, scans have run, and inventory reported to CM (With MIK Server Extension installed). I currently only have it setup in “Scan” Mode, to pull data back, I do not have the remediations setup… hence the horrible ratings on my devices in my Lab.

WMI on Client

Installing the MIK Client will add several classes, but the ones I’m interested in are the “HP_ImageAssistant”

$namespace = "ROOT\HP\InstrumentedServices\v1"
$classname = "HP_ImageAssistantRecommendation"
$classname = "HP_ImageAssistantRemediation"
$classname = "HP_ImageAssistantSummary"
Get-CimInstance -Class $classname -Namespace $namespace

This data gets pulled back into the CM Database via Hardware Inventory when you have loaded the MIK Server component and created an HP Patch Assistant configuration.

MIK in CM Console


5 thoughts on “Deploy HP MIK Client for ConfigMgr with CI”

  1. Am I missing something or is the detection script missing the piece that calls the Test-HPCMSL function? I copied it over from the remediation script and it seems to work ok.

    The big issue I’m getting is a 503 Server Unavailable error when trying to hit I can get the JSON file with no problems, but not the EXE. Guessing that might be an issue with our network security maybe. Have you come across that before?

  2. Thanks for the article
    When running the script on the device the wizard asking for parameters value what should i add

    • Please be more specific, which script are you running?
      The MIK script shouldn’t have parameters.
      If you’re using the script to trigger a baseline, then you’d have to provide the name of the baseline so it knows what to trigger.


Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.