I’m not sure how many folks out there use HP Insight Integrations for SCCM, but I noticed when I first started digging into them that documentation about how they worked was *sparse* at best. A lot of how I learned to use these integrations was a combination of reading other vendor’s documentation and generic trial/error. The specific version of Insight Integrations I’ve been using are the ones that support Windows 2012, HP Gen 8 servers, and SCCM 2012 SP1.
NOTE: I’ll spare you the boring details about how to actually *install* the integrations. It’s mostly a “click the next button” type of install – just make sure noone’s got the console open and you should be fine.
Installation Complete… Now What?!
This is where the documentation leaves you hanging… fortunately you’ll have this braindump in your “Favorites” to get you started. To set up an environment where you can start capturing your configurations, you’ll need to run through some pre-requisites. I did these initially to save time, but later ran into an issue where these turned out to be sufficient workarounds for the failing (but supposedly tested and working) functionality:
- The integrations create “HP Proliant” software packages and two Driver Packages (one for 2012, one for 2008 R2 SP1). On the Data Access tab in the properties for these packages, select the option to publish them to a common package share.
- In the properties of the installer-created “HP Proliant Boot Image,” ensure that Command Support is checked on the “Customization” tab. I also like to include the Powershell components in the “Optional Components” tab. Distribute the content and make sure your distribution points are updated!
- Create Task Sequence Media (bootable ISO) based off the installer-created “HP Proliant Boot Image.” I generally created site-specific boot media rather than dynamic, as I did all my “testing” in a specific Site. NOTE: You’ll eventually need to publish this to a common package share when you start getting into testing.
- Mount your new TS Media iso as a virtual DVD in your Integrated Lights Out console. Configure an HP Proliant G7 or Gen8 server the way you would like it and boot it into WinPE using this TS Media.
How the Integrations Work:
Now that the pre-req’s are done, lets look at how the Integrations work. You’ll notice that a number of new folders are created underneath the
- Bootorder.cmd – accepts input parameters to change the boot order on supported hardware.
- BIOS.cmd – This batch script takes an input file in order to modify the BIOS configuration on supported hardware. It does this by calling either conrep.exe or hprcu.exe from the x64 folder.
- ILO.cmd – This modifies the Integrated Lights Out controller settings based on an input file. It performs these changes by calling hponcfg.exe from the x64 directory.
- SA.cmd – This modifies the configuration of the SmartArray controller. It does this by calling hpssascripting.exe from the x64 directory.
One other tidbit to know – some of these batch scripts also make use of the drvload.cmd file in order to load the HP Scripting Toolkit IO driver (hpsstkio.sys) and the hpqilo2/hpqilo3core drivers.
Capturing Your Configurations:
Now that you’ve booted your “gold” hardware configuration(s) into the WinPE Task Sequence media, it’s time to start capturing configurations. The HP Proliant tasks you can use in a task sequence map directly to the HWConfig folder, so you’ll want to save your configurations in that top-level folder (
You’ll want to do the following to capture your own configurations:
- Press F8 when your Task Sequence environment loads (and before choosing a task sequence to run!!)
- Map a drive to your SCCM installation folder: net use z: \\
- change directory to the HW config folder: cd \OSD\LIb\Packages\hp\Proliant\hwconfig
- Capture the BIOS Configuration: .\x64\hprcu.exe –s –f
- Capture the ILO Configuration: .\x64\hponcfg.exe /w
- Capture the SmartArray Configuration: .\x64\hpacuscripting.exe –c
NOTE: Make sure you edit your ILO configuration and apply any variables (e.g. the variable name surrounded by percent signs [%VariableName%]) where you would like to perform variable substitution. Variable substitution is covered in greater depth in the Scripting Toolkit documentation, but I generally used a %NAME% variable in the xml configuration so that I can apply the %_SMSTSMachineName% Task Sequence variable. (see the next section)
NOTE: Make sure you update your distribution points with the HP Proliant Hardware Configuration package in SCCM after capturing the configurations!
Using Your Configurations:
Honestly, I had mixed results attempting to use the built-in HP “task types” created by the insight integrations. I found I had better success with the ILO, BIOS, and Array tasks when I manually mapped a drive to the common package source and then ran the utilities as part of a “Run Command Line” task. As an example:
- Create a “Run Command Line” task which maps a drive (example “Z:\”) to the Common Package Share folder for the HP Insight Integrations: \\
Site Server>\smspkg $\ \
- Use the Default HP Hardware Configuration Task to set the boot order. Example parameters: hd cdrom pxe usb floppy
- Next use a “Run COmmand Line” task for the BIOS and run the BIOS update from the mapped drive (i.e. set the “Start In” parameter to Z:\) in step 1. Example: .\x64\conrep.exe -l –f
- Next use a “Run Command Line” task for the ILO configuration (also using your mapped network folder as the start-in parameter). Note the use of the “%NAME%” variable for substitution on the command line. Example: .\x64\hponcfg.exe /f .\
- Finally, use a “Run Command Line” task for the HP SmartArray controller configuration (also using your mapped network folder as the start-in parameter). Example: sa.cmd
Controlling Task Conditions:
In my own task sequence, I tried including configurations for different sets of hardware. This can be useful if you have multiple standard platforms and/or if you need to accommodate a large volume of “project-specific” build configurations (e.g. BIOS settings and/or Array Configurations). You can accomplish this by using either the Make/Model Task Sequence variables provided by the Microsoft Deployment Toolkit, or by running WMI Queries. I’ve provided some sample WMI Queries in a recent post WMI, Powershell, and Various Scripts for SCCM. If you’ve added Powershell support to your WinPE boot image, you can always discover the necessary make and model by doing the following:
- From the F8 prompt in WinPE, type powershell.exe
- At the prompt, type gwmi Win32_ComputerSystem
- Snag the values for Make and Model
- Use them in a WMI query such as: Select * FROM Win32_ComputerSystem where Model=”
” or Select * FROM Win32_ComputerSystem where Make=” “
As always, I welcome your feedback and commentary! I hope you find this a valuable resource that will save you some time digging through all the HP documentation!