Archive | HP RSS for this section

HP 3PAR with SCOM “Unable to connect to the remote server”

I was recently configuring the HP 3PAR monitoring for System Center Operations Manager 2012R2 for a customer.  After installing the HP SCOM Storage Monitoring Application and adding my local management server, I proceeded to add the HP 3PAR Storage System via the HP Storage Management Pack User Configuration Tool and received the error “Unable to connect to the remote server” whenever I attempted to connect.


I confirmed my username/password was correct – even setup a new account, all with the same result.  It turns out that the CIM service was not running on the 3PAR, which is a requirement for the application/management pack to function.  I connected to the storage system via SSH, typed “showcim” and confirmed that it was not functional.  Running the command “startcim” started the CIM service and after a few seconds, returned to the HP Storage System dialog and re-connect with success!



Finally, after enabling discovery in SCOM for the Management Server and waiting a couple of minutes the storage system appeared in SCOM and reported as it should.



Find all HP Proliant Server Product Numbers/ID & Serial Number in Active Directory

I recently needed to find a way to look for all HP Proliant Servers in an organization for Warranty reporting.   I put the following script together for this purpose.  The script builds a Data Table, searches AD for all servers, confirms they are not a Virtual Machines & are Proliant servers, then runs a WMI query to pull the Product ID (and formats the output) & Serial Number into the ServerReport Table.  This in turn is exported to a formatted CSV file. This can be plugged into something like this to expand further.

Here is the script:

#Please place the full path to your output file. Ie. C:\temp\myservers.csv
$FileOutputPath = “C:\temp\myservers.csv”
$ServerReport = new-object “ServerReport”;
$ServerReport.columns.add((new-object “ServerName”, ([string])));
$ServerReport.columns.add((new-object “ServerSerial”, ([string])));
$ServerReport.columns.add((new-object “ServerProduct”, ([string])));

$Serverlist = Get-ADComputer -Filter {OperatingSystem -Like “Windows *Server*”} -Property * | select-object -ExpandProperty Name
foreach($Server in $Serverlist){

$ComputerModel = (Get-WmiObject -Class Win32_ComputerSystem -ComputerName “$server” -ErrorAction Ignore | Select-Object Model).Model

if ($ComputerModel -match “Virtual Machine”) {
write-host “$Server is a Virtual Machine, moving to next Server”

if ($ComputerModel -like “*Proliant*”) {
$SerialNumberNoFormat = (Get-WmiObject -Class Win32_BIOS -ComputerName “$server” | Select-Object SerialNumber).SerialNumber
$SerialNumber = $SerialNumberNoFormat -replace “[^a-zA-Z0-9]”
$OEMStringArray = (Get-WmiObject -Class Win32_ComputerSystem -ComputerName “$server” | select -ExpandProperty OEMStringArray)
$ProductNumberNoFormat = $OEMStringArray -replace “[^0-9-]”
$ProductNumber = $ProductNumberNoFormat.Split(“;”,[System.StringSplitOptions]::RemoveEmptyEntries)
$row = $ServerReport.NewRow()
$row.”ServerName” = $Server
$row.”ServerSerial” = $SerialNumber
$row.”ServerProduct” = $ProductNumber

write-host “$Server is an HP Proliant Server, Serial Number $SerialNumber & Product Number $ProductNumber are being added to file $FileOutputPath”

$ServerReport | Export-CSV -path $FileOutputPath -Append -NoTypeInformation


Hope it helps!