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:
- HP Manageability Integration Kit | HP Client Management Solutions
- Please Read the User Guide
- HP Image Assistant | HP Client Management Solutions
- Please read the User Guide, especially the Command line Options
- HP Developers Portal | Client Management Script Library – Commandlets used:
Goals:
- 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
Pre-Requirements
- Having HPCMSL already available on the endpoints.
- It will install a version if one isn’t already there
- Internet access to HP.com
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 HP.com
- 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
GARYTOWN.COM
When setting the configuration item , is this a script that will use a boolean data type or something else.
Compliance Rule:
Rule Type: Value [Drop down]
Operator: Equals [Drop down]
Values: Compliant [String Entry]
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 https://hpia.hpcloud.hp.com/downloads/cmsl/wl/hp-cmsl-1.6.8.92.exe. 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?
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.