Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

PowerShell HPE ILO4 Rest API automation examples

Using Microsoft PowerShell to consume and automate any Restful API is very easy. In my earlier article I showed how to automate VMware product to automation rest api - Powershell Using vRealize Log Insight Rest API. In this article I am using HPE ILO4 Rest API to write automation scripts and how to use it. 

HPE has very good documentation guide provided for  iLO RESTful API Data Model Reference (iLO 4) in below urls, It has complete step by step guide worth to have a look once to understand how to consume Rest API.
https://techhub.hpe.com/eginfolib/servers/docs/HPRestfultool/iLo4/data_model_reference.html
https://developer.hpe.com/platform/ilo-restful-api/home
https://hewlettpackard.github.io/ilo-rest-api-docs/ilo4/

The very first step is to login (authentication and authorization) into ILO4. I have gathered all details in PowerShell with variables. Whenever you supply username and password it should be passed in Json format in the body. Api url starts with /rest/v1 and sessions is the API information for login as shown in the example. Once you execute Invoke-WebRequest with required parameters, you get login token key inside content property.

#ILO details and credentials
$hpeilo = '1921.68.34.25'
$username = 'Administrator'
$password = 'P@ssw0rd'

#ILO4 - LogIn
$credBody = @{UserName = $username; Password=$password} | ConvertTo-Json
$loginUri = "https://$hpeilo/rest/v1/Sessions"
$session = Invoke-WebRequest -Uri $loginUri -Method Post -Body $credBody -ContentType 'application/json' -UseBasicParsing
$session

Once successfully authenticated on ILO, authorization token can be found inside session >> header >> X-Auth-Token. The GUID value is used in further header parameter. Users information restful API url contains /AccountService/Accounts. Method verb is used Get.

The collected information is in Content property which is in Json format, which can be viewed in PowerShell object format with ConverFrom-Json

#ILO4 - Get users list
$authHeader = @{'X-Auth-Token' = $session.Headers.'X-Auth-Token'}
$accountsAPI = "https://$hpeilo/rest/v1/AccountService/Accounts"
$accountList = Invoke-WebRequest -Uri $accountsAPI -Method Get -Headers $authHeader
($accountList.Content | ConvertFrom-Json).Items | Select-Object -Property UserName, Id

#ILO4 - Delete user with user ID
$iloUserId = '15'
$deleteAccountAPI ="https://$hpeilo/rest/v1/AccountService/Accounts/$iloUserId"
$authHeader = @{"X-Auth-Token"} = $sessions.Headers.'X-Auth-Token'}
$deleteAccount = Invoke-WebRequest -Uri $deleteAccountAPI -Method Delete -Headers $authHeader -UseBasicParsing

#ILO4 - Recheck and Get users list
$authHeader = @{'X-Auth-Token' = $session.Headers.'X-Auth-Token'}
$accountsAPI = "https://$hpeilo/rest/v1/AccountService/Accounts"
$accountList = Invoke-WebRequest -Uri $accountsAPI -Method Get -Headers $authHeader
($accountList.Content | ConvertFrom-Json).Items | Select-Object -Property UserName, Id

Next example is about deleting user. Deleting user requires ID number of account. API uri example for deleting user conatins /AccountService/Accounts/15. Token information is same used in Header generated earlier. 

To verify whether user is deleted successfully run the getting Account users list again.

Useful Articles
POWERCLI AND VSPHERE WEB CLIENT: JOIN ESXI INTO ACTIVE DIRECTORY DOMAIN CONTROLLER
Resolved: Esxi Join domain failed - Error in Active Directory Operations
Join domain ESXi to an Active Directory OU : Powercli

Reset forgotten Esxi Root Password on Domain joined Esxi using vSphere web client and Powercli
Reset ESXi root password using Host Profiles on vCenter server: VMWare vSphere Web client
Resolved: Reset Esxi forgotten root password using hiren bootCD step by step



This post first appeared on Tales From Real IT System Administrators World And Non-production Environment, please read the originial post: here

Share the post

PowerShell HPE ILO4 Rest API automation examples

×

Subscribe to Tales From Real It System Administrators World And Non-production Environment

Get updates delivered right to your inbox!

Thank you for your subscription

×