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.
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.
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.
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.
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…
Thanks for sharing that Marc!
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
Thanks for sharing!
Any suggestions on using this with MDT 2013?
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?
Same question for MDT here. I tested with newer SSP and no luck.
Will the wrapper script also work in a MDT 2013 task sequence?
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