Moving SSM Workflows to HPIA
HP’s System Software Manager (SSM) has helped many IT organizations deliver updates to end user devices for a long time. SSM was deprecated by HP after decades of service and other tools provide different methods for achieving similar results. Here, we are going to review how existing SSM workflows can be replaced with the HP Image Assistant.
System Software Manager
SSM provided an interface to manage a folder full of HP Softpaqs – BIOS, Drivers, HP software, etc. – by creating a simple catalog (a database) of each Softpaq along with information on the Softpaq’s properties, including version information, platforms supported, and more importantly, the ability to, and instructions on how to silently install on a device.
SSM itself does not manage the contents of the folder, except for the Softpaqs’ catalog (or database). Therefore, each required Softpaq must be added to the folder. Currently, the best tool for finding and downloading Softpaqs is the HP Image Assistant application, using one of its workflows. Otherwise, Softpaqs can be downloaded from support.hp.com after finding the solutions available for the platform in question.
When Softpaqs needed to be removed from the folder, SSM would be used to quickly rebuild the catalog minus the deleted entries and that was enough to let SSM select what was left in the folder for the next run.
Note that SSM was not used to download Softpaqs to the required folder. A typical application used for obtaining Softpaqs (which is also End-of-Life) was the HP Softpaq Download Manager (SDM). SDM users would search for and select any Softpaq for any platform in a GUI and download those needed for their devices.
The SSM executable could then execute on an HP business system, search the catalog from the folder (which was typically a share on some server), and analyze the current build on the device to compare against available Softpaqs determining which ones needed updating. With SSM support, each Softpaq could then be installed silently. On execution, SSM used the first argument as the location of the catalog – and all wanted Softpaqs. The folder could be a share in the standard Windows format or a local driver location. This allowed updates to be packaged and managed in many different scenarios to support the wide variety of needs.
In addition, SSM could run from the device or run directly from the share containing the catalog and Softpaqs, if desired.
The tool was used extensively over the years for imaging tasks as well as for managing updates to fleet of devices. With its demise, IT shops require alternative solutions to achieve similar results. HP Image Assistant (HPIA) can help fulfil those needs.
HP Image Assistant
HP Image Assistant was developed on the idea that many organizations wanted to keep their devices up to date and would trust that HP released tested updates for any platform. HPIA has both a graphical user interface, often used for quick updates, for Help Desk, and for troubleshooting, as well as the ability to run from the command line with a range of options.
So, how does HPIA know what are the latest Softpaqs released for any given platform? By default, HPIA uses a daily updated reference file containing the most current information on Softpaqs for any supported platform/model and OS version. On a typical run, HPIA obtains the reference file from HP and uses it to analyze the state of a device. It can then obtain all required Softpaqs from HP, and silently install them, one at a time.
A powerful feature of HPIA is to allow it to download Softpaqs from an internal server hosting a configured repository. If this repository is set up, maintained, and used as the source, HPIA does not contact HP for actions. It will find the appropriate reference file for the platform in a location in the folder and then download any needed Softpaqs from the same location. HPIA’s /OfflineMode runtime option dictates that HPIA only work with a local repository instead of contacting HP.
The offline repository can be a share accessible to each managed client, or even on the local drive of each client.
The HPIA Offline Repository
So, how does HPIA get all it needs from a local, shared, source? The answer is HP’s Client Management Script Library (CMSL). A CMSL module contains several PowerShell cmdlets to initialize, configure, and maintain HP Image Assistant repositories. These cmdlets for repository management are described at HP Developers Portal | SoftPaq Repository.
A blog (and script) that can help automate maintenance of an HPIA repository can be found at https://developers.hp.com/hp-client-management/blog/automating-maintenance-hp-image-assistant-repositories-upd-apr-28-2022. The PowerShell script mentioned in the blog uses HP CMSL to perform all the functions required to host a local repository, and is available on GitHub.
At a high level, the HPIA repository is created with these commands
Set-RepositoryConfiguration -Setting OfflineCacheMode –CacheValue Enable #To setup repository for HPIA
Add-RepositoryFilter # Use one filter per platform and OS version required in the repository
Invoke-RepositorySync #This command downloads the most current HPIA reference file and all Softpaqs for the configured filter
Let’s now look at moving some workflows from SSM to HPIA.
SSM workflow with repository on a device
For some use cases, the SSM Softpaq repository and catalog are pushed to the system being updated. The folder full of Softpaqs and the catalog are copied to the client device as part of a task step or script from a management application. SSM could be included in the folder and executed from that location.
For example, the following will run SSM to update a system locally. Let’s assume the all needed Softpaqs, catalog, and SSM was copied to devices at C:\SSM.
C:\SSM\SSM.exe C:\SSM /Accept /Debug /NoReboot /Log:C:\SSM\Logs
Note that all we need is to point SSM to the folder containing the Softpaqs and catalog file as the first argument. Additional options, including the location of where to send the resulting log file could be used. An encrypted BIOS password file can also be used as an argument, if BIOS passwords are implemented. SSM does not support HP Sure Admin authentication for BIOS access.
How can HP Image Assistant replace SSM in this use case?
Assuming that an HPIA repository is setup and configured on a server, you can copy the contents of the repository to the same directory on the client device, C:\SSM.The folder will contain all the Softpaqs for the platform (along with their CVA files) and additional files in some subfolders with all the HPIA requirements, including the reference file for the system.
Since HPIA does not required installation (neither does SSM) and can execute from a folder, let’s assume HPIA is available as a subfolder of SSM (C:\SSM\HPIA) – perhaps copied down from a server (note that it can also be executed from a share, or a mapped drive.
This command line could replace the SSM execution shown above - /Debug is recommended to get a detailed execution log in %Temp%
C:\SSM\HPIA\HPImageAssistant.exe /OfflineMode:’C:\SSM’ /Operation:Analyze /Action:Install /ReportFolder:’C:\SSM\Logs’ /Silent /Debug
SSM workflow with modified Softpaq list
Often, a Softpaq is not wanted on a client device. For example, a particular driver has not been tested or qualified, or perhaps it is the cause of an issue. In these cases, an IT administrator can remove the Softpaq and its CVA content file from the folder and recreate the SSM catalog. This could be accomplished on a server and then sync’d to each device, or could be done at the device using the same SSM executable with appropriate options, for example, the /am_bld_db option is used to quickly recreate the catalog
C:\SSM\SSM.exe "C:\HP_SSM" /am_bld_db /nocvaupdate
Since HPIA relies on the reference file to know what is available to install, the only possible way to perform the same action would be to use a modified reference file. Note that currently, HP does not support reference files not obtained via standard methods, which include HPIA itself or CMSL cmdlets.
Version 5.1.6 of HPIA introduced the option /ReferenceFile to support the use of a locally available reference file. This option previously existed in the HPIA’s GUI interactive screen, selectable prior to clicking on Analyze.
Since each HPIA reference file is an XML file, knowing its construct can help us make changes to identify a Softpaq that may cause the problem and replace it with a known good previous version in the file, if one exists. Once the reference file was modified, we can accomplish the task with the new option.
How can we then manipulate the reference file to remove/replace an offending Softpaq offer? The answer is in knowing the XML contents of the Reference File. Description of the file contents is not what this blog is about. However, the information and a PowerShell script that can help with this is available in the blog https://developers.hp.com/hp-client-management/blog/controlling-hp-image-assistant. The script is available on GitHub. To avoid potential issues, the script mentioned in the blog will only allow a current Softpaq to be replaced with a previous version of the Softpaq. This ensures that a suitable, previously tested and supported Softpaq is available to HPIA for analysis.
Say the reference file is modified, and the resulting file name is 880d_64_10.0.21H2.xml. We can copy it to the same SSM folder as in the previous example. Then, we can run HPIA using this modified reference file as the source:
C:\SSM\HPIA\HPImageAssistant.exe /OfflineMode:’C:\SSM’ /ReferenceFile:’C:\SSM\880d_64_10.0.21H2.xml’ /Operation:Analyze /Action:Install /Silent /ReportFolder:’C:\SSM\Logs’ /Debug
HPIA uses the reference file from the command line argument and Softpaqs from the offline repository.
You can use these as examples for your situation, and the information is useful.