MSEndpointMgr

Install HP Service Pack for ProLiant during OSD with ConfigMgr 2012

If you’ve ever worked with HP ProLiant servers before, you’re probably familiar with the HP Service Pack for ProLiant (HP SPP). As I’ve only worked with Dell servers before (it’s kind of fun that I’ve not come in contact with HP servers managed with ConfigMgr up until now), I’m used to use the DRM (Dell Repository Manager).

Overview

  • Get your hands on the HP SPP
  • Cleanup HP SPP
  • Copy HP SPP to the Content Library
  • Create a wrapper script
  • Create a Package
  • Add HP SPP to a Task Sequence

Get your hands on the HP SPP

As of writing this post, the latest version of HP SPP is 2014.02 and can be downloaded from the link below.
https://h20392.www2.hp.com/portal/swdepot/displayProductInfo.do?productNumber=spp_2014.02.0
You’d need to login to be able to download the ISO. If you don’t have an account yet, it’s a pretty fast sign-up process.

Cleanup HP SPP

As in this post I’ll be focusing on using the HP SPP for Windows Server deployments, and for that we don’t need all the linux-based files that comes along as well. Since the servers that will be deployed with ConfigMgr needs to download all the content in the package that we’ll create later, it would be wise to keep the data to a minimum. Once you have downloaded the ISO, mount it and copy the folder below and all of its contents to a folder of your liking. I’ll be copying the files to G:\HP.
<driveletter>\hp\swpackages
Open an elevated PowerShell console and run the following command:

Get-ChildItem -Path G:\HP\swpackages -Recurse -Include *.rpm, *.scexe | Remove-Item -Force

When you run the command above, you’ll remove all of the unnecessary files that we won’t be needing when deploying the HP SPP for Windows servers. The orginal size of 3GB+ has now been decreased to about 1.2GB instead. It’s still a lot of data, and perhaps there could be some more cleaning done, but I’ll leave that up to each of you to decide on that.

Copy HP SPP to the Content Library

Now that we have the files we need, it’s time to move them to the Content Library on your Primary Site server (or wherever your Content Library is located). In my lab environment, I’ll be using the following location for the HP SPP files:
\\CM01\ContentLibrary$\Packages\HP\HPSPP\2014.02
Move all of the contents of G:\HP\swpackages to the location in the Content Library.
89_1

Create a wrapper script

Since HP has decided to go their own way when it comes to exit codes, we need to have a wrapper interpreting the return codes from the installation. This can be accomplished by using the following script:

Dim sSetupCommand
Dim sExecute
Dim sExitCode
sSetupCommand = "hpsum.bat /use_wmi /use_latest /logdir C:\HPSPPLogs /silent"
Set WshShell = WScript.CreateObject("WScript.Shell")
sExecute = WshShell.Run(sSetupCommand,1,True)
If (sExecute = 0) then
    sExitCode = 0
ElseIf (sExecute = 1) then
    sExitCode = 0
ElseIf (sExecute = 2) then
    sExitCode = 0
ElseIf (sExecute = 3) then
    sExitCode = 0
ElseIf (sExecute = 4) then
    sExitCode = 0
Elseif (sExecute = 5) then
    sExitCode = 0
Elseif (sExecute = 3010) then
    sExitCode = 0
Else
    sExitCode = 1
End If
WScript.Quit sExitCode

If you take a look at the script, we have a variable called sSetupCommand that contains the actual setup command that will be executed. Here you’re able to specify the command line parameters that are supported by the HP SPP. I would encourage you to look them up so that you use the correct ones that suites your environment.
Save this script as InstallHPSPP.vbs and copy it to the same location that you copied the HP SPP files in your Content Library.

Create a Package

I’ll assume that you know how to create a Package in ConfigMgr, so that process will not be described here in this post. What’s important though when you create the package is to specify the content source and not to create a Program. You could of course create a Program if you wish, but I’ll be leveraging the Run Command Line step in the task sequence instead of the Install Package. Also, remember to distribute the package to your Distribution Points.
89_2

Add HP SPP to a Task Sequence

When editing the task sequence, it’s important that we add the Run Command Line step during the Online phase. That means that we have to add it after the Setup Windows and Configuration Manager step at some point. Here in my lab environment I’ve edited my Windows Server 2012 R2 Standard – Install task sequence and added a Run Command Line step with the following command line:
cscript.exe InstallHPSPP.vbs
In addition to that I’ve also selected to use the package that we created earlier.
89_4
Now when you go and deploy this task sequence to one of your servers, the HP SPP installation will take care of all your driver installations and additional software that it finds suitable for your server.

Nickolaj Andersen

Chief Technical Architect and Enterprise Mobility MVP since 2016. Nickolaj has been in the IT industry for the past 10 years specializing in Enterprise Mobility and Security, Windows devices and deployments including automation. Awarded as PowerShell Hero in 2015 by the community for his script and tools contributions. Creator of ConfigMgr Prerequisites Tool, ConfigMgr OSD FrontEnd, ConfigMgr WebService to name a few. Frequent speaker at conferences such as Microsoft Ignite, NIC Conference and IT/Dev Connections including nordic user groups.

12 comments

  • Hi Nickolaj,
    I’ve been doing a deployment using your instructions.
    It all works fine using the most recent HP SPP.
    Unfortunately, the most recent HP SPP returns exit code 1 but the logs show no errors.
    Clearly a false positive…
    I fixed this by adding 1 as a success code in the task and intiated a restart (required by the exit code) as a Collection Variable…
    Hope this helps others as well…

  • This will only work if you task sequence is set to download all under deployments.
    You canĀ“t have download when needed

  • i wrote a CMD file
    hpsum.bat /use_wmi /force /use_latest /logdir %windir%\temp /silent
    i used it with sccm 1610 in OSD with 871790_001_spp-2016.10.0-SPP2016100.2016_1015.191.iso

  • I tried the above with HP SPP 2016 for Gen 8 DL380P.The task sequence goes in loop copying the files to the client.
    Any pointers?

  • Is it possible the sSetupCommand = “hpsum.bat /use_wmi /use_latest /logdir C:\HPSPPLogs /silent” no longer works?
    Error: cannot parse the option: /use_wmi

  • Hi Nickolaj,
    Great article, I used this with our HP DL380p Gen8 WS 2012 R2 build and worked just great.Will this also work HP DL380p Gen8 WS 2008 R2 build ?
    Thanks
    Steve

    • Hi Steven,
      Yes it will work. One of my customers are running this on Windows Server 2008 SP2 all the way up to Windows Server 2012 R2 on a variety of HP server models.
      Regards,
      Nickolaj

Sponsors