Deploying HP Driver Updates with Image Assistant and ConfigMgr Task Sequences

In the last post, I talked about using Reference files to lock in a set of updates for deployment. In this post, I’m going to show you how to deploy Updates using HP Image Assistant (HPIA) with a ConfigMgr Task Sequence.

The Task Sequence I’ve created is pretty dynamic, so you can either create packages for a few things, or pull them from the internet, completely up to you.

Optional Packages Used in my Task Sequence:

  • HPIA 5.1.6 Contents
  • ServiceUI.exe
  • Reference Files

Download the Export (No Dependencies): HPIA Task Sequence (6394 downloads )

These are all completely optional depending on how you want to run HPIA. I have the Task Sequence run different ways based on if a user is logged on. I’m leveraging Service UI to display the progress bar of HPIA if a user is logged on, if not, I don’t care, and I don’t show it. I also display additional notifications and have a longer reboot notification.


  • DownloadHPIAFromInternet – This will run the step that has a script that will download the latest version of HPIA from the internet when set to TRUE. If Set to False, it will use HPIA from a package you have in CM
  • UseRefFilePackage – This will use a package of pre-created reference files for HPIA to lock in versions to ensure that throughout the entire deployment process, machines get the same updates, even if newer ones are released, this allows for testing and full control.
  • Action – This is the Action that is passed to the command line for HPIA. I have it set to “INSTALL” so that it will install the updates, however for testing, you can set it to “LIST” to have it scan and provide details in the logs of what it recommends without making changes.


Set UserLoggedOn Variable will check the machine to see if a user is logged on, if so, sets a variable “UserLoggedOn”. If there is a user logged on, additional notifications and information is presented to the user, as well as a delayed restart.

Set UserLoggedOn Variable

Download HPIA From Internet will run if the TS Variable DownloadHPIAFromInternet is set to TRUE. It reaches out to HP and pulls the latest version, extracts it to a temp folder, then sets that folder as a variable (HPIAContent01) to be used by the HPIA command line.

Download HPIA From Internet

Download HPIA from DP will download the HPIA Utility from a Package in CM when the TS Variable DownloadHPIAFromInternet is NOT set to TRUE. It then sets that folder as a variable (HPIAContent01) to be used by the HPIA command line.

Download HPIA from DP

Download Tools will download any other items you want to make available during the Task Sequence, currently I have it with Service UI. It then sets that folder as a variable (TOOLS01) to be used by the HPIA command line.

Download Tools

Download HPIA Ref Files will download all of the reference files you’ve created for your devices. It then sets that folder as a variable (HPIARefFiles01) to be used by the HPIA command line.

Download HPIA Ref Files

Determine Reference File will look at the machine the Task Sequence is running on it, then find the correct reference file to be applied to the command line. If no suitable reference file is found (one that doesn’t match both the Platfrom & OS Ver / Build), then the command line will skip using a reference file, and will fall back on having HPIA grab whatever is the latest.

Determine Reference File

Build Command Line will set variables to build the command line to run HPIA based on if a user is logged in or if a Reference file is available.

Build Command Line

Running Updates – Look for Popup Box for Details will trigger HPIA based on the command line variables created in the previous step

Running Updates – Look for Popup Box for Details

Set HPIA Exit Info will get the return code from the previous step, then add helpful information about how HPIA exited for reporting and in the popup dialog if a user is logged on. It will also capture if a reboot is required by any of the installs and trigger the restart process at the end if needed.

Set HPIA Exit Info

Restart Computer – 1 Hour Delay will trigger if there is No Logged on User and HPIA requires a Restart.

Restart Computer – 1 Hour Delay
Restart Computer – 1 Hour Delay Conditions

Launch Completed Notification will popup the dialog box and show the status for the logged on user:

Launch Completed Notification

CM Client Initiate Restart Countdown will trigger if a user is logged on and a Restart is Required. This will trigger the CM Restart Dialog on the Endpoint, leveraging your Client Settings for a Restart. – Trigger Machine Restart, Controlled by CM, via PowerShell

CM Client Initiate Restart Countdown

NOTE, since taking the screen captures, I’ve added a step to suspend Bitlocker if a reboot is required, incase BIOS get updated.

Running the Task Sequence

I have it set as a High Impact Task Sequence, so it gives additional popups if a user triggers it:

Once it downloads and starts, you’ll see the HPIA Progress bar because of Service UI.

When completed, if Restart is required, it will say “System will initiate Restart”, otherwise it just says that it recommends you restart.

After a minute or so, if a restart was required, end user will see:

The Configuration Manager Client is initiating the Restart with the settings applied in the Client Policy.


9 thoughts on “Deploying HP Driver Updates with Image Assistant and ConfigMgr Task Sequences”

      • Can you run it “as is” in a TS or are there pre-reqs that aren’t listed here? i.e. having HPIA pulled in as a package from CM?

        • You can use it as is, and it will download HPIA from the internet, or you can create your own package with HPIA in it. If you want to use Reference files, you would need to create your own. So yes, it will work “as is”, however you can customize to control it to your liking. Please go through each step and see exactly what it does before running. That will answer any additional questions you have.

  1. Thanks for this solution
    I’m deploying this in an OSD task sequence and I get an error during the “HPIA from the internet” step with generic code 00000001
    But I can’t seem to find anything related in the smsts.log

    I will try with “HPIA from DP” as a next step to see if that resolves the issue

    • Hi,

      I have the issues resolved
      But I’m left with one more thing…
      The reference file is found when running the TS from a a standard Software Center

      But when used in an OSD it can not find the reference file, although it’s downloaded and is available in the package

      Maybe it’s because it’s running in Win PE still and the script can’t find the correct $Platform or $WindowsRelease
      Perhaps it’s useful to Write-Output them as well

      • HPIA does not work in WinPE, it requires being run in the Full OS.
        For OSD, I still use the standard HP Driver packs, then once in the full OS (anytime after the Setup Windows & ConfigMgr Step), I run HPIA to update everything to the latest.


Leave a Comment

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