Simpler Navigation for Servers and Operating Systems
Completed: a much simpler Servers and Operating Systems section of the Community. We combined many of the older boards, so you won't have to click through so many levels to get at the information you need. Check the consolidated boards here as many sub-forums are now single boards.
Server Management - Remote Server Management
cancel
Showing results for 
Search instead for 
Did you mean: 

iLO Data Collection

ÁNLEIFR
Occasional Visitor

iLO Data Collection

Hi, I need to run CPQLOCFG to grab information for HP's Oneview spreadsheet. I have a script to run and it outputs the data to a text file. The script is below, however I have over 150 servers to run this against so is there anyway to not have to run this by individually typing in the servername? Also, I only need the following info:

IP_ADDRESS VALUE=

DNS_NAME VALUE=

DOMAIN_NAME VALUE="ind.hp.com

FIRMWARE_VERSION =

LICENSE_TYPE VALUE=

PRODUCT_NAME VALUE =

FIELD NAME=

The thing is, they want me to run this script and then copy and paste the above information into their spreadsheet. Is there anyway to automate this without having to manually copy and paste the above data from the xml files into the spreadsheet?

 

c:\HPQLOCFG.exe -s myserver-ilo -f hpscript.xml

 

HPScript.xml

<?xml version="1.0"?>

<?xmlilo output-format="xml"?>

<RIBCL VERSION="2.0">

<LOGIN USER_LOGIN="mylogon" PASSWORD="mypass">

<RIB_INFO MODE="read">

<GET_NETWORK_SETTINGS/>

<GET_FW_VERSION/>

<GET_ALL_LICENSES/>

</RIB_INFO>

<SERVER_INFO MODE="READ" >

<GET_PRODUCT_NAME />

<GET_SERVER_NAME />

<GET_HOST_DATA/>

</SERVER_INFO>

</LOGIN>

</RIBCL>

 

 

Thank you.

1 REPLY
GokulKS
Frequent Advisor

Re: iLO Data Collection

Hi,

We have alternate way of gathering iLO data using PowerShell cmdlets which internally uses RIBCL commands to communicate to iLO Server(s).

iLO PowerShell cmdlets has multiple threading embdedd inside which will take multiple iLO Server IP addresses and does simulatenous operations on the different iLO's at same time against serial way of processing IP's with RIBCL scripts.

Developed a powershell scripts for your need to fetch the values mentioned in your request and output onto CSV file. Input ip addresses this script takes from a input csv file.

Let me know if you have any issues in using the script we can help you.

Link to Powershell sample scripts hosted on GitHub : https://github.com/HewlettPackard/PowerShell-ProLiant-SDK

 

##############################################################################
#Sample to fetch the IP_ADDRESS, DNS_NAME, DOMAIN_NAME, FIRMWARE_VERSION, LICENSE_TYPE, PRODUCT_NAME
#from the list of servers that can be passed as CSV input(CSV) to the cmdlet .
#This scrpit uses the HPiLOCmdlets -Get-HPiLOServerInfo,Get-HPiLONetworkSetting,Get-HPiLOFirmwareVersion, Find-HPiLO
#Link to download the HPiLOCmdlets -http://h20566.www2.hpe.com/hpsc/swd/public/detail?sp4ts.oid=5440658&swItemId=MTX_e5bb353a36054529869f6fdd70&swEnvOid=4168#tab1
#Please navigate to the installed folder path of HPiLOCmdlets
#Invoke cmdline : CustIssue.ps1 -CSV ServerList.csv -SavePath_CSV OutputFile.csv

[CmdletBinding()]
param
(

[Parameter(Position = 0, Mandatory, HelpMessage = "Please provide the path and filename of the CSV file containing the server iLO's and crednetials.")]
[ValidateNotNullorEmpty()]
[string]$CSV,
[Parameter(Position = 1, Mandatory, HelpMessage = "Please provide the path and filename of the CSV file to save the details.")]
[ValidateNotNullorEmpty()]
[string]$SavePath_CSV
)
$ResultArray = @()
if (-not(Test-Path $CSV -PathType Leaf))
{

Write-Error ("The CSV parameter value {0} does not resolve to a file. Please check the value and try again." -f $CSV) -ErrorAction Stop

}
if (-not (get-module HPiLOCmdlets))
{
$errorCount = $Error.Count
Import-Module -Name HPiLOCmdlets

if($Error.Count -gt $errorCount)
{
Write-Error("Please import iLO Cmdlets and try again or reload the module") -ErrorAction Stop
}
}
#Read CSV of server iLO Addresses, with account credentials
# CSV File should contain the following headers:
# IP,Usename,password
$ServersList = Import-Csv $CSV
foreach($Server in $ServersList)
{
$result = New-Object PSObject
$ServerInfo = Get-HPiLOServerInfo -Server $Server.IP -Username $Server.Usename -Password $Server.password -DisableCertificateAuthentication
$result | Add-Member -NotePropertyName IP_ADDRESS -NotePropertyValue $ServerInfo.IP
$NetworkSetting =Get-HPiLONetworkSetting -Server $Server.IP -Username $Server.Usename -Password $Server.password -DisableCertificateAuthentication
$result | Add-Member -NotePropertyName DNS_NAME -NotePropertyValue $NetworkSetting.DNS_NAME
$result | Add-Member -NotePropertyName DOMAIN_NAME -NotePropertyValue $NetworkSetting.DOMAIN_NAME
$FirmwareVersion =Get-HPiLOFirmwareVersion -Server $Server.IP -Username $Server.Usename -Password $Server.password -DisableCertificateAuthentication
$result | Add-Member -NotePropertyName FIRMWARE_VERSION -NotePropertyValue $FirmwareVersion.FIRMWARE_VERSION
$result | Add-Member -NotePropertyName LICENSE_TYPE -NotePropertyValue $FirmwareVersion.LICENSE_TYPE
$IP=Find-HPiLO -Range $Server.IP
$result | Add-Member -NotePropertyName PRODUCT_NAME -NotePropertyValue $IP.SPN
$ResultArray+= $result
}
$ResultArray| Export-Csv -Path $SavePath_CSV -NoTypeInformation

#############################################################################

 

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

ServerList.csv (Format in which IP, username and password should be there)

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

IP Usename password 1.12.13.14  administrator  admin123 1.13.14.15  administrator  admin123

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

Thanks,

Gokul

HPE POWERSHELL TEAM