There has been quite a bit of buzz recently around the importance of keeping drivers and firmware updated. My previous post, Apply Firmware and Driver Updates using HP Image Assistant, outlines how to use HPIA within an OSD/IPU task sequence. That, coupled with my Automating HP SoftPaq Repository Updates Using PowerShell post allows for automated updating of softpaq repositories so your deployment environment is always current. This approach works well when the machines are in the hands of technicians at OSD/IPU time.
I was recently asked on Twitter how to apply updates once the machines are in the hands of users. In discussing with @nkofahl, he recommended I run the same process I used during OSD/IPU, but as a self service option for end users. The following post will show how to deploy as an available task sequence to standard users.
Prep Work: I already had repositories for each of my models created using my PowerShell script. Running the repository script on a scheduled task ensures the ConfigMgr packages are current, which will reduce the run time for the task sequence. HPIA will always reach out to HP to obtain a list of the current softpaq revisions. If the repository is not fully up to date, the client will download anything newer than what is in the repository. This may not be ideal if you have bandwidth constraints, so scheduling the repository sync periodically should solve that issue.
Task Sequence Module: The following shows the HPIA module that is used for OSD, IPU, and now available task sequence deployments. In my OSD/IPU task sequence, an immediate reboot to the running OS follows this module to continue running the task sequence. The options tab has a WMI filter for each of the models based on the win32_baseboard, which corresponds to the HP platform. Also note the continue on error option is checked. In the case that something goes wrong with the command, the task sequence will continue.
Task Sequence: I previously had the reboot included as the last step of the HPIA module. I decided to move that to the actual OSD/IPU task sequence, as I want the user self service method to warn the end user for a few minutes rather than instantly rebooting at the conclusion of the task sequence. I also wanted a more user friendly title for the task sequence that will appear in the software center. This is accomplished by nesting the same HPIA module I use in OSD/IPU task sequences, followed by a reboot.
Deployment: To use this solution, deploy the task sequence to a collection of computers and it will appear in the Applications node of Software Center. As you can see in the screenshot below, HPImageAssistant.exe is running under the system context, even though the deployment was launched from Software Center as a standard user.
Running Multiple Times: One nice thing about this approach is the deployment can be run again from Software Center by clicking on ‘Reinstall’. As newer softpaqs are released and your scheduled repository update occurs, end users can run the deployment again to get the newest revisions installed.
Conclusion: I believe an available deployment to end users is a great way to facilitate self service updates for firmware and drivers. It is possible to use this as a required deployment as well, but that could be risky in my opinion. If an end user does ‘end user things’ like closing the laptop lid, powering off in the middle of the process, etc, it could potentially leave the machine in an unusable state. Please let me know what you think in the comments!