# Global commands and optional arguments
This section lists global optional arguments and global commands that apply to HPE iLOrest as a
whole.
## Global optional arguments
Global optional arguments are passed when invoking an
[interactive mode](/docs/redfishclients/ilorest-userguide/usage/#interactive-mode)
session or at every invocation in
[scriptable mode](/docs/redfishclients/ilorest-userguide/usage/#scriptable-mode).
**-h, --help**
Including the help flag displays the general help for the tool.
**-c, --config=CONFIGFILE**
Use the provided configuration file instead of the
[default](/docs/redfishclients/ilorest-userguide/usage/#configuration-file).
**--cache-dir=CACHEPATH**
Use the provided directory as the location to cache data instead of the default.
The location of default cache directory depends on the operating system
hosting HPE iLOrest. Use `ilorest --help` to discover its location.
**-v, --verbose**
Display verbose information. The `--verbose` option provides a brief
response message from iLO.
**-vv**
The second level or "very verbose" option provides further details regarding
iLO response information.
The extended verbosity option provides the following additional information for
iLO HTTP and the iLO Channel Interface Driver response messages:
- An error response message id (`MessageId`), iLO response error message code identification.
- An error response message description (`Description`), essentially a quick
synopsis of the issue.
- An error response message (`Message`) describing the reason for the error in
greater detail. The offending properties are embedded as per the relevant error
response resource.
- An error response resolution (`Resolution`) describing steps to correct the error.
The following example shows extended verbosity:
Example
```shell
HTTP Response Code: [400]
MessageId: iLO.2.8.PropertyNotWritableOrUnknown
Description: The request included a value for a read-only or unknown property.
Message: The property "NTPServers" is a read-only property and cannot be assigned a value, or not valid for this resource.
Resolution: If the operation did not complete, remove the property from the request body and resubmit the request.
```
**-d, --debug**
The debug option provides a timestamp of all transmit and response activity
with iLO to a file called `iLORest.log`.
This file is saved in the folder where from you launched the tool.
TIP
Use the debug mode when you have difficulties to write your own Redfish client
in Python or another language. The debug option can help you
understand how to perform specific requests.
The following example shows the content of the `iLORest.log` file:
Example
```shell
2020-06-05 14:20:39,266 INFO : Not using CA certificate.
2020-06-05 14:20:39,267 INFO : Initializing no proxy.
2020-06-05 14:20:39,267 DEBUG : HTTP REQUEST: GET
PATH: /redfish/v1/
HEADERS: {'OData-Version': '4.0', 'Accept-Encoding': 'gzip'}
BODY: None
2020-06-05 14:20:39,269 DEBUG : Starting new HTTPS connection (1): 1.83.661.104
2020-06-05 14:20:39,884 DEBUG : https://1.83.661.104:443 "GET /redfish/v1/ HTTP/1.1" 200 None
2020-06-05 14:20:39,885 INFO : Response Time to /redfish/v1/: 0.615999937057 seconds.
2020-06-05 14:20:39,887 DEBUG : HTTP RESPONSE for /redfish/v1/:
Code:200 OK
Headers:
Transfer-Encoding: chunked
ETag: W/"16CA421D"
Link: ; rel=describedby
Allow: GET, HEAD
Cache-Control: no-cache
Date: Fri, 05 Jun 2020 19:21:15 GMT
OData-Version: 4.0
X-Frame-Options: sameorigin
Content-type: application/json; charset=utf-8
Body Response of /redfish/v1/: {"@odata.context":"/redfish/v1/$metadata#ServiceRoot.ServiceRoot","@odata.etag":"W/\"16CA421D\"","@odata.id":"/redfish/v1/","@odata.type":"#ServiceRoot.v1_5_1.ServiceRoot","Id":"RootService","AccountService":{"@odata.id":"/redfish/v1/AccountService/"},"Chassis":{"@odata.id":"/redfish/v1/Chassis/"},"EventService":{"@odata.id":"/redfish/v1/EventService/"},"JsonSchemas":{"@odata.id":"/redfish/v1/JsonSchemas/"},"Links":{"Sessions":{"@odata.id":"/redfish/v1/SessionService/Sessions/"}},"Managers":{"@odata.id":"/redfish/v1/Managers/"},"Name":"HPE RESTful Root Service","Oem":{"Hpe":{"@odata.context":"/redfish/v1/$metadata#HpeiLOServiceExt.HpeiLOServiceExt","@odata.type":"#HpeiLOServiceExt.v2_3_0.HpeiLOServiceExt","Links":{"ResourceDirectory":{"@odata.id":"/redfish/v1/ResourceDirectory/"}},"Manager":[{"DefaultLanguage":"en","FQDN":"ILOMXQ849018N.americas.hpqcorp.net","HostName":"ILOMXQ849018N","Languages":[{"Language":"en","TranslationName":"English","Version":"2.10"}],"ManagerFirmwareVersion":"2.10","ManagerType":"iLO 5","Status":{"Health":"OK"}}],"Moniker":{"ADVLIC":"iLO Advanced","BMC":"iLO","BSYS":"BladeSystem","CLASS":"Baseboard Management Controller","FEDGRP":"DEFAULT","IPROV":"Intelligent Provisioning","PRODABR":"iLO","PRODFAM":"Integrated Lights-Out","PRODGEN":"iLO 5","PRODNAM":"Integrated Lights-Out 5","PRODTAG":"HPE iLO 5","STDLIC":"iLO Standard","SUMABR":"SUM","SUMGR":"Smart Update Manager","SYSFAM":"ProLiant","VENDABR":"HPE","VENDNAM":"Hewlett Packard Enterprise","WWW":"www.hpe.com","WWWAHSV":"www.hpe.com/servers/ahsv","WWWBMC":"www.hpe.com/info/ilo","WWWDOC":"www.hpe.com/support/ilo-docs","WWWERS":"www.hpe.com/services/getconnected","WWWGLIS":"reserved for liconf URI","WWWIOL":"www.hpe.com/info/insightonline","WWWLIC":"www.hpe.com/info/ilo","WWWLML":"www.hpe.com/support","WWWPASS":"www.hpe.com/support/hpesc","WWWPRV":"www.hpe.com/info/privacy","WWWQSPEC":"www.hpe.com/info/qs","WWWRESTDOC":"www.hpe.com/support/restfulinterface/docs","WWWSUP":"www.hpe.com/support/ilo5","WWWSWLIC":"www.hpe.com/software/SWLicensing"},"Sessions":{"CertCommonName":"ILOMXQ849018N.americas.hpqcorp.net","CertificateLoginEnabled":false,"KerberosEnabled":false,"LDAPAuthLicenced":true,"LDAPEnabled":false,"LocalLoginEnabled":true,"LoginFailureDelay":0,"LoginHint":{"Hint":"POST to /Sessions to login using the following JSON object:","HintPOSTData":{"Password":"password","UserName":"username"}},"SecurityOverride":false,"ServerName":""},"System":[{"Status":{"Health":"OK"}}],"Time":"2020-06-05T19:21:15Z"}},"Product":"ProLiant DL360 Gen10","ProtocolFeaturesSupported":{"ExpandQuery":{"ExpandAll":false,"Levels":true,"Links":false,"MaxLevels":1,"NoLinks":true},"FilterQuery":true,"OnlyMemberQuery":true,"SelectQuery":false},"RedfishVersion":"1.6.0","Registries":{"@odata.id":"/redfish/v1/Registries/"},"SessionService":{"@odata.id":"/redfish/v1/SessionService/"},"Systems":{"@odata.id":"/redfish/v1/Systems/"},"Tasks":{"@odata.id":"/redfish/v1/TaskService/"},"TelemetryService":{"@odata.id":"/redfish/v1/TelemetryService/"},"UUID":"d3372204-1b09-54ea-9aa0-88940c369d59","UpdateService":{"@odata.id":"/redfish/v1/UpdateService/"},"Vendor":"HPE"}
```
**--nostdoutlog**
Disable debug logs to stdout.
Tip
If you have difficulties to write your own Redfish client
in Python or another language, the debug option can help you to
understand or to troubleshoot; performing the action you have problem
with iLOrest in debug mode and analyze the log.
**--logdir=LOGPATH**
Use the provided directory as the location for the log file instead of the default.
**--nocache**
During execution the application will temporarily store data only in memory.
**--nologo**
Include to block copyright and logo.
**--notoolbar**
Include to block bottom status bar.
**--proxy=PROXYURL**
Use the provided proxy for communication.
**--redfish**
Use this flag if you wish to enable Redfish only compliance. It is enabled by
default in systems with iLO 5 and above.
TIP
The `--redfish` global option is **only** required for HPE iLO 4.
## Global commands
This section includes commands as well as their usage and examples of general
commands in the RESTful Interface Tool. They include commands used to do things
such as listing help for using commands, viewing, retrieving, modifying, and
committing changes to server properties, authenticating and logging in and out
of the server.
### Help Command
#### Syntax
`help [command] [optional parameters]`
#### Description
Displays command-line syntax and help menus for individual commands. Use this command if you want to know more about a command or need help using a command. Alternatively, you can use the `help` command without specifying a particular command if you wish to see all the available commands and options.
#### Parameters
- Command
Supplying a command to `help` displays the help message corresponding to the given command, as well as the options relating to that particular command.
NOTE
If no command is provided, the `help` command lists and provides a brief description of all available commands.
- **-h, --help**
Running the `help` command with the **‑h** or **‑‑help** parameter displays information on how to use the `help` command.
- **-c FILE, --config=FILE**
Use the provided configuration file instead of the default one.
- **--cache-dir=PATH**
Use the provided directory as the location to cache data (default location: `C:\Users\USERNAME\AppData\Roaming\.ilorest`).
#### Example
The following example uses the iLOrest
[script mode](/docs/redfishclients/ilorest-userguide/usage/#scriptable-mode)
to display embedded help.
Example
```text
ilorest help
usage: iLORest [GLOBAL OPTIONS] [COMMAND] [COMMAND ARGUMENTS] [COMMAND OPTIONS]
iLOrest is a command-line or interactive interface that allows users to manage Hewlett Packard Enterprise products that take advantage of RESTful APIs.
In order to view or manage a system you must first login. You can login using
the login command or during execution of any other command.
From here you can run any other commands. To learn more about specific commands,
run `ilorest COMMAND -h`.
options:
-h, --help show this help message and exit
--config FILE Use the provided configuration file instead of the default one.
--cache-dir PATH Use the provided directory as the location to cache data (default location: /root/.iLORest)
-v, --verbose Display verbose information (with increasing level). '-v': Level 1, Logging, Stdout, Stderr. '-vv': Level 2, Extends Level 1 with slightly elaborated iLO and HTTP
response message. '-vvv': Level3, Extends Level 2 with message id, validation class, message text with embedded args, and possible resolution/mitigation for iLO
responses. Includes HTTP responses. **NOTE 1**: Some responses may only contain limited information from the source.**NOTE 2**: Default level is 0.
-d, --debug Display debug information.
--logdir PATH Use the provided directory as the location for log file.
--nostdoutlog Disable debug logs to stdout.
--nocache During execution the application will temporarily store data only in memory.
--nologo Include to block copyright and logo.
--toolbar Show toolbar at the bottom.
--notab Disable tab complete.
--redfish Use this flag if you wish to to enable Redfish only compliance. It is enabled by default in systems with iLO5 and above.
--latestschema Optionally use the latest schema instead of the one requested by the file. Note: May cause errors in some data retrieval due to difference in schema versions.
--useproxy URL Use the provided proxy for communication.
--redirectconsole [REDIRECT CONSOLE]
Optionally include this flag to redirect stdout/stderr console.
Examples:
The following is the standard flow of commands to view system data.
The first example is each command run individually:
ilorest login
ilorest select Bios.
ilorest get
The second is the list of all of the commands run at once. First locally, then remotely.
ilorest get --select Bios.
ilorest get --select Bios. --url -u -p
BIOS_COMMANDS
biosdefaults - Set the currently logged in server to default BIOS settings.
bootorder - Displays and sets the current boot order.
iscsiconfig - Displays and configures the current iscsi settings.
setpassword - Sets the admin password and power-on password
COMMANDS
commit - Applies all the changes made during the current session.
detectilo - Retrieves the iLO generation of the server.
get - Displays the current value(s) of a property(ies) within a selected type.
info - Displays detailed information about a property within a selected type.
list - Displays the current value(s) of a property(ies) within a selected type including reserved properties.
load - Loads the server configuration settings from a file.
login - Connects to a server, establishes a secure session, and discovers data from iLO.
logout - Ends the current session and disconnects from the server.
pending - Show the pending changes that will be applied on reboot.
results - Show the results of changes which require a server reboot.
save - Saves the selected type's settings to a file.
select - Selects the object type to be used.
set - Changes the value of a property within the currently selected type.
status - Displays all pending changes within a selected type that need to be committed.
types - Displays all selectable types within the currently logged in server.
exit - Exits from the interactive shell.
help - Displays command line syntax and help menus for individual commands. Example: help login
PERSISTENT_MEMORY_COMMANDS
provisionpmm - Applies specified configuration to PMM.
applypmmconfig - Applies a pre-defined configuration to PMM.
clearpmmpendingconfig - Clear pending config tasks
pmmsecuritystate - Displaying the Security state of dimms.
showpmm - Display information about Persistent Memory modules.
showpmmpendingconfig - Shows the pending configuration for PMM.
showrecommendedpmmconfig - Show Recommended Configuration
RAW_COMMANDS
rawdelete - Raw form of the DELETE command.
rawget - Raw form of the GET command.
rawhead - Raw form of the HEAD command.
rawpatch - Raw form of the PATCH command.
rawpost - Raw form of the POST command.
rawput - Raw form of the PUT command.
SMART_ARRAY_COMMANDS
clearcontrollerconfig - Clears smart array controller configuration.
createvolume - Creates a new volume on the selected controller.
deletevolume - Deletes volumes from the selected controller.
drivesanitize - Erase/Sanitize physical drive(s)
factoryresetcontroller - Factory resets a controller by index or location.
storagecontroller - Discovers all storage controllers installed in the server and managed by the SmartStorage.
SMART_NIC_COMMANDS
smartnic - Discovers all pensando nic installed in the server
iLO_COMMANDS
appaccount - Creates/Deletes application account, Checks the existence of an application account, Provides details on all app accounts present in the server.
certificate - Command for importing both iLO and login authorization certificates as well as generating iLO certificate signing requests (CSR)
channelinterface - Reset CHIF on the current logged in server.
clearrestapistate - Clears the persistent state of the REST API. Some portions of the API may not be available until after the server reboots.
computeopsmanagement - Enables the server to be discovered, monitored and managed through ComputeOpsManagement
directory - Update directory settings, add/delete directory roles, and test directory settings on the currently logged in server.
disableilofunctionality - disables iLO's accessibility via the network and resets iLO. WARNING: This should be used with caution as it will render iLO unable to respond to further network operations (including REST operations) until iLO is re-enabled using the RBSU menu.
eskm - Command for all ESKM available actions.
ethernet - Command for configuring Ethernet Management Controller Interfaces and associated properties
factorydefaults - Resets iLO to factory defaults. WARNING: user data will be removed use with caution.
fwintegritycheck - Perform a firmware integrity check on the currently logged in server.
firmwareupdate - Perform a firmware update on the currently logged in server.
ipprofiles - This is used to manage hpeipprofile data store.
iloaccounts - Views/Adds/deletes/modifies an iLO account on the currently logged in server.
backuprestore - Backup and restore iLO to a server using a .bak file.
ilofederation - Adds / deletes an iLO federation group on the currently logged in server.
ilolicense - Adds an iLO license key to the currently logged in server.
iloreset - Reset iLO on the current logged in server.
onebuttonerase - Performs One Button Erase on a system.
reboot - Reboot operations for the current logged in server.
sendtest - Command for sending various tests to iLO.
serverclone - Creates a JSON formatted clone file of a system's iLO, Bios, and SSA configuration which can be duplicated onto other systems. User editable JSON file can be manipulated to modify settings before being loaded onto another machine.
serverconfiglock - The BIOS feature “Server Configuration Lock” supports certain parameters,including a password. This password has a 16 to 31 character limit. “Server Configuration Lock” is not one of the special commands in iLO REST.
serverinfo - Shows aggregate health status and details of the currently logged in server.
serverstate - Returns the current state of the server.
serverlogs - Download and perform log operations.
settwofactorauthentication - Enables the server to use Two factor authentication, monitored
sigrecompute - Command to recalculate the signature of the computer's configuration.
singlesignon - Command for all single sign on available actions.
virtualmedia - Command for inserting and removing virtual media.
iLO_REPOSITORY_COMMANDS
deletecomp - Deletes components/binaries from the iLO Repository.
downloadcomp - Downloads components/binaries from the iLO Repository.
flashfwpkg - Flashes fwpkg components using the iLO repository.
installset - Manages install sets for iLO.
listcomp - Lists components/binaries from the iLO Repository.
maintenancewindow - Manages the maintenance windows for iLO.
makeinstallset - Creates install sets for iLO.
taskqueue - Manages the update task queue for iLO.
uploadcomp - Upload components/binary to the iLO Repository.
```
The syntax to get help details for specific command is
' **-h** or **--help**'
The following example uses the iLOrest interactive mode
to display the embedded help of the `login` command.
Example
```shell
ilorest
iLOrest > login -h
usage: login [-h] [--wait_for_otp] [--sessionid SESSIONID] [-u USER] [-p PASSWORD] [-o LOGIN_OTP] [--biospassword BIOSPASSWORD] [--https HTTPS_CERT] [--usercert USER_CERTIFICATE]
[--userkey USER_ROOT_CA_KEY] [--userpassphrase USER_ROOT_CA_PASSWORD] [--includelogs] [--path PATH] [--force_vnic] [--logout] [--selector SELECTOR] [--no_app_account]
[--hostappid HOSTAPPID] [--hostappname HOSTAPPNAME] [--salt SALT] [--use_chif]
To login remotely run using iLO url and iLO credentials
example: login -u -p
To login on a local server run without arguments
example: login
In iLO 5 and iLO 6 based servers, use `--force_vnic` and iLO credentials to start an
[in-band](/docs/redfishservices/ilos/supplementdocuments/vnic/#in-band-management)
session via the Virtual NIC instead of the [CHIF](/docs/etc/glossaryterms/).
example: login --force_vnic -u iLO-user -p password
The `--force_vnic` parameter is not relevant in iLO 7 based
servers (and later) because the CHIF between the OS and
the iLO has been
[removed](/docs/redfishservices/ilos/supplementdocuments/securityservice/#transitioning-to-hpe-ilo-7).
Login using OTP can be done in 2 ways.
To login implicitly, use the tag --wait_for_otp.
example: login -u -p --wait_for_otp
To login explicitly, use the tag -o/--otp and enter OTP after.
example: login -u -p -o
NOTE: A [URL] can be specified with an IPv4, IPv6, or hostname address.
options:
-h, --help show this help message and exit
--wait_for_otp Optionally include this flag to implicitly wait for OTP.
--selector SELECTOR Optionally include this flag to select a type to run the current command on. Use this flag when you wish to select a type without entering another command, or if you wish to work with a type that is different from the one you currently have selected.
--no_app_account
Include this parameter in order to login to iLO 7 and later with credentials and not application account.
LOGIN OPTIONS:
Options for logging in to a system.
--sessionid SESSIONID
Use the provided sessionid to login.
-u USER, --user USER If you are not logged in yet, including this flag along with the
password and URL flags can be used to login to a server in the same command.
-p PASSWORD, --password PASSWORD
Use the provided iLO password to log in.
-o LOGIN_OTP, --otp LOGIN_OTP
Use the provided iLO OTP to log in.
--biospassword BIOSPASSWORD
Select this flag to input a BIOS password. Include this
flag if second-level BIOS authentication is needed for the command to execute.
This option is only used on Gen 9 systems.
--https HTTPS_CERT Use the provided CA bundle or SSL certificate with your login to
connect securely to the system in remote mode. This flag has no effect in local mode.
--usercert USER_CERTIFICATE
Specify a user certificate file path for certificate based authentication
with iLO.
**NOTE**: Inclusion of this argument will force certficate based
authentication. A root user certificate authority key or bundle will be required.
--userkey USER_ROOT_CA_KEY
Specify a user root ca key file path for certificate based certificate
authentication with iLO. **NOTE 1**: Inclusion of this argument will force certficate based
authentication. A root user certificate authority key or bundle will be required.
**NOTE 2**: Inclusion of this argument will force certificate based authentication.
A user certificate will be required.
**NOTE 3**: A user will be prompted for a password if the root certificate authority key
is encrypted and '-certpass/--userrootcapassword' is omitted.
--userpassphrase USER_ROOT_CA_PASSWORD
Optionally specify a user root ca key file password for encrypted
user root certificate authority keys. **NOTE 1**: Inclusion of this argument will force
certficate based authentication. A root user certificate authority key or
bundle will be required. **NOTE 2**: The user will be prompted for a password
if the user root certificate authority key requires a password
--includelogs Optionally include logs in the data retrieval process.
--path PATH Optionally set a starting point for data collection during login.
If you do not specify a starting point, the default path will be /redfish/v1/.
Note: The path flag can only be specified at the time of login.
Warning: Only for advanced users, and generally not needed for normal operations.
--force_vnic Force login through iLO Virtual NIC. **NOTE** iLO 5 required
--logout Logout after the completion of the command.
```
### Login Command
#### Syntax
`login [URL] [Optional Parameters]`
#### Description
Connects to a server, establishes a secure session, and discovers data from
HPE iLO.
TIP
Refer to the
[in-band management](/docs/redfishservices/ilos/supplementdocuments/vnic/#in-band-management)
paragraph for detailed local login examples.
NOTE
In band communication with iLO via the [Virtual NIC](/docs/redfishservices/ilos/supplementdocuments/vnic/) (vNIC), requires this interface to be enabled in both iLO and the operating system. Refer to this [section](/docs/redfishservices/ilos/supplementdocuments/securityservice/#transitioning-to-hpe-ilo-7) to benefit from a seamless authentication of in-band management on iLO 7 based servers.
Login using certificate authentication has following requirements:
- iLO 5 v2.40 or later
- Set NTP Server on iLO and verify accurate time
- "iLO Advanced Premium Security Edition" license
- X509 SSL certificate signed with root CA key
- CAC/Smartcard Authentication Enabled
- Add root CA certificate to iLO
- Map user CA certificate to target iLO management user
#### Usage with other commands
In [out-of-band](/docs/redfishservices/ilos/supplementdocuments/vnic/#out-of-band-management)
(remote) contexts, most of the iLOrest commands allow the opening of a
[Redfish session](/docs/concepts/redfishauthentication/#redfish-authentication-and-sessions)
and the execution of the command using a single iLOrest invocation, using
`--url`, `--user`, and `--password` flags. Optionally include the `--https` flag to validate the SSL certificate along with.
TIP
Failure to formerly logout after using an iLOrest (or another Redfish client)
may saturate iLO with sessions and prevent other clients to login.
You can use the standalone `logout` [command](#logout-command)
or append the `--logout` parameter as shown in the next example.
The following one line example logs into a remote iLO, retrieves its firmware version and logs out.
Example
```shell
ilorest get FirmwareVersion --selector Manager. --url ilo-ip --user ilo-user --password password --json --logout
{
"FirmwareVersion": "1.12.00 Mar 28 2025"
}
Logging session out.
Logging session out.
```
#### Parameters
- **URL**
Connect to the server located at the provided URL.
- **-h, --help**
Including the help flag will display help for the command.
- **-u, --user User**
Connect to the server as the provided user.
- **-p, --password Password**
Connect to the server with the password corresponding to the given user.
- **-o, --otp**
To enter the One Time Password (OTP) received in the configured Directory
Service (i.e. Microsoft Active Directory) email address. Refer to the
[TFA section](/docs/redfishservices/ilos/supplementdocuments/tfa/) for more detail.
- **--wait_for_otp**
To prompt and wait for the One Time Password (OTP) received in the configured
Directory Service (i.e. Microsoft Active Directory) email address to be entered
during implicit login. Refer to the
[TFA section](/docs/redfishservices/ilos/supplementdocuments/tfa/)
for more detail.
TIP
In Linux, if password contains '!' (exclamation), then enclose the password
with single quotation ('). Also, if the password includes special characters,
then escape these characters with '' (backslash).
Eg: if the password is `test#123`, then type the password as `test\\#123`.
- **--sessionid**
Connect to the server with the already known `sessionid`.
- **--usercert UserCertificate**
Specify a user certificate file path for certificate based
authentication with iLO.
NOTE
The user private key is required.
- **--userkey UserCertKey**
Specify a user private key file path for certificate based authentication
with iLO.
NOTE
If the user private key is password protected, but not included with
`--userpassphrase`, then Urllib3 will automatically request the
password on the command line.
- **--userpassphrase UserPassphrase**
Optionally specify a user key file password for a password protected user key.
- **--force_vnic**
Option to force login through
[iLO Virtual NIC](/docs/redfishservices/ilos/supplementdocuments/vnic/)
in iLO 5 and iLO 6
[in-band](/docs/redfishservices/ilos/supplementdocuments/vnic/#in-band-management)
(local) management contexts.
NOTE
The in-band default communication path of HPE iLO 7 based servers and later is vNIC.
Hence, this parameter cannot be used on such platforms.
- **--includelogs**
Optionally choose to set the **includelogs** flag. Doing so will include logs.
in the data retrieval process.
NOTE
Use this option to limit long login times.
- **--selector=SELECTOR**
Optionally including the **selector** flag allows you to select a type to run
while running the current command. Use this flag when you wish to select a
type without entering another command, or if you wish to work with a type that
is different from the one you currently have selected.
- **--path=PATH**
Optionally set a starting point for data collection. If you do not specify a
starting point, the default path will be `/rest/v1`.
NOTE:
The `path` flag can only be specified at the time of login, so if you are
already logged into the server, the `path` flag will not change the path.
If you are entering a command that is not the `login` command, but includes
your login information, you can still specify the path flag there.
- **--biospassword=BIOSPASSWORD**
Select this flag to input a BIOS password. Include this flag if second-level
BIOS authentication is needed for the command to execute.
NOTE
This option is only used on HPE Gen 9 systems.
- **--no_app_account**
This option forces in-band management login (via the [Virtual NIC](/docs/redfishservices/ilos/supplementdocuments/vnic/)) with username and password to bypass the use of the application account on iLO 7 based servers. Refer to the [application account](/docs/redfishservices/ilos/supplementdocuments/securityservice/#application-accounts) section for detail.
#### Examples
To open a remote Redfish [session](/docs/concepts/redfishauthentication/#redfish-authentication-and-sessions),
supply the URL, username, and
password for the remote HPE iLO.
Example
```shell
iLOrest > login xx.xx.xx.xx -u username -p password
Discovering data...Done
```
To open a remote Redfish [session](/docs/concepts/redfishauthentication/#redfish-authentication-and-sessions),
using certificates (instead of user/password credentials), supply the URL, user certificate, user
key and user passphrase to the server.
Example
```shell
iLOrest > login xx.xx.xx.xx --usercert cert.pem --userkey userkey.pem --userpassphrase password
Discovering data...Done
```
In the following example, the `--select` option has been included so that
the `Bios` type is selected once the user is logged in. You can prove that
the `Bios` type has indeed been selected when we enter the `select` command
alone.
Example
```shell
iLOrest > login xx.xx.xx.xx -u username -p password --select Bios.
Discovering data...Done
ilorest select
Current selection: Bios.v1_0_0
```
IPv4, IPv6 addresses, or fully qualified hostnames can be specified. IPv6 addresses should use the following
format.
Example
```shell
iLOrest > login [xxxx::xxxx:xxxx:xxxx:xxxx] -u username -p password
Discovering data...Done
```
In the following example, a SSL certificate is included to validate the
HTTPS connection
Example
```shell
iLOrest > login system.domain.net -u username -p password --https \path\to\SSLcert.crt
Discovering data...Done
```
In the following example, the URL, username, and password information are
not specified on the command line nor in the configuration file.
This syntax attempts to login locally in the server's iLO 5 or iLO 6 via the HPE
internal Channel Interface
([CHIF](/docs/etc/glossaryterms/)) or via the Virtual NIC when the server's
iLO is iLO 7 or later, and when iLOrest has been installed with the creation
of an application account. Refer to the
[Transitioning to HPE iLO 7](/docs/redfishservices/ilos/supplementdocuments/securityservice/#transitioning-to-hpe-ilo-7)
documentation section for more information.
Example
```shell
iLOrest > login
Discovering data...Done
```
In iLO 5 and iLO 6 contexts, you can force the use of the
[Virtual NIC](/docs/redfishservices/ilos/supplementdocuments/vnic/)
communication path with
the `--force_vnic` flag and username and password credentials.
Example
```shell
iLOrest > login --force_vnic -u username -p password
Discovering data...Done
```
The following example forces the use of iLO 7 user credentials instead of the default [application account](/docs/redfishservices/ilos/supplementdocuments/securityservice/#application-accounts) mechanism, to create a session based in-band communication. This example is valid only in iLO 7 based servers (and later)
Example
```shell
iLOrest > login --no_app_account -u username -p password
Attempt to login with Vnic...
Discovering data...Done
```
#### To login using OTP
Explicit OTP login
```shell
iLOrest > login -u ilo-username -p password -o 987654
Discovering data...Done
```
Implicit OTP login
```shell
iLOrest > login -u username -p password --wait_for_otp
One Time Passcode Sent to registered email.
Enter OTP: 234567
Discovering data...Done
```
### Types Command
#### Syntax
`types [Optional Parameters]`
#### Description
Each Redfish resource is associated to a
[data type](/docs/concepts/datatypesandcollections/) also called "resource type" or "type".
The `types` command displays all selectable types available within the
currently logged in server. Data types include a name as well as version information.
They represent the schemas used for the resources and indicate the version of
those schemas. Version information is `major.minor.errata`
(i.e. `SystemRoot.0.9.5`).
Major versions are not backward compatible, but everything else is.
NOTE
Refer to the
HPE iLO resource map
for a the list and location of all the possible types.
#### Parameters
- **-h, --help**
Including the help flag will display help for the command.
- **--fulltypes**
Optionally include this flag if you would prefer to return the full type
name instead of the simplified versions.
#### Login Parameters
The following parameters can be included to login to a server in the same line
as the command is run.
- **--url=URL**
If you are not logged in yet, use the provided iLO URL along with the user and
password flags to login to the server in the same command.
- **-u User, --user=USER**
If you are not logged in yet, use this flag along with the password and URL
flags to login to a server in the same command.
- **-p Password, --password=PASSWORD**
If you are not logged in yet, use this flag along with the user and URL flags
to login. Use the provided iLO password corresponding to the username you
gave to login.
- **--includelogs**
Optionally choose to set the **includelogs** flag. Doing so will include logs
in the data retrieval process.
NOTE
Use this option to limit long login times.
- **--path=PATH**
Optionally set a starting point for data collection. If you do not specify a
starting point, the default path will be `/redfish/v1/`.
Refer to the
[Path Option](/docs/redfishclients/ilorest-userguide/advancedusage/#path-option)
for more information.
NOTE
The `path` flag can only be specified at the time of login, so if you are
already logged into the server, the `path` flag will not change the path.
If you are entering a command that is not the `login` command, but includes
your login information, you can still specify the path flag there.
#### Examples
The following example logs into an iLO based server and lists all the
available [types](/docs/concepts/datatypesandcollections/)
(output truncated). When submitted against a non-iLO based server,
it returns the full type name (not the simplified one).
See example below.
Example
```shell
iLOrest > login ilo-ip -u username -p password
Discovering data...Done
iLOrest > types
Type options:
AccountService.v1_3_0
Bios.v1_0_0
CertificateCollection
Chassis.v1_6_0
ChassisCollection
ComputerSystem.v1_4_0
ComputerSystemCollection
EthernetInterface.v1_4_1
EthernetInterfaceCollection
...
```
The following command simultaneously logs in to the server at the provided URL
with the provided username and password, and lists all the available types
that you can select. The full list has been truncated here for space.
Example
```shell
iLOrest > types --url xx.xx.xx.xx -u username -p password
Discovering data...Done
Type options:
AccountService.v1_3_0
Bios.v1_0_0
CertificateCollection
Chassis.v1_6_0
ChassisCollection
ComputerSystem.v1_4_0
ComputerSystemCollection
EthernetInterface.v1_4_1
EthernetInterfaceCollection
...
```
Adding the `--fulltypes` option returns the full type name instead
of the simplified versions. This is only available against Redfish
conformant services.
Example
```shell
iLOrest > types --fulltypes
Type options:
#AccountService.v1_3_0.AccountService
#Bios.v1_0_0.Bios
#CertificateCollection.CertificateCollection
#Chassis.v1_6_0.Chassis
#ChassisCollection.ChassisCollection
#ComputerSystem.v1_4_0.ComputerSystem
#ComputerSystemCollection.ComputerSystemCollection
#EthernetInterface.v1_4_1.EthernetInterface
#EthernetInterfaceCollection.EthernetInterfaceCollection
#EventDestinationCollection.EventDestinationCollection
...
```
### Select Command
#### Syntax
`select [Type] [Optional Parameters]`
#### Description
Use `select` command to choose one or several
[data types](/docs/concepts/datatypesandcollections/#data-types) to work with. Eligible
types for selection are listed by the `types` [global command](#types-command).
Once a data type or a data type set is selected, it remains selected and used by subsequent commands
until another type is selected.
With no argument the `select` command returns the current selected type(s) or
[error code](/docs/redfishclients/ilorest-userguide/errors/) 24 if no type is selected.
The supplied type string is treated as a regular expression of the form `*[Tt][Yy][Pp[Ee]*` by
the `select` command. This allows the selection of multiple types
having in common a substring.
Refer to the [examples](#examples-3) paragraph for more detail.
#### Usage in other commands
Select a type from another command by including the `--select` or `--selector`
parameter followed by the type to select. Not all commands have the `--select`
parameter; run `command --help` to see available options.
Refer to the `get` [examples](#examples-6) for more detail.
Warning
The selection of the following data types points to their
[pending/settings area](https://servermanagementportal.ext.hpe.com/docs/concepts/biosdatamodel/#bios-current-and-pending-areas)
The pending/settings area may differ from the running/current area if you have not
cold rebooted the server after a committed modification.
- `Bios.`
- `HpeServerBootSettings.`
- `HpeiSCSISoftwareInitiator.`
- `HpeKmsConfig.`
- `HpeServerConfigLock.`
- `HpeTlsConfig.`
- `SmartStorageConfig.` (iLO 5 only)
- `NetworkAdapter.v1`
The above statement is true for all commands accepting the `--select` parameter, including
the `get` and `list` global commands.
You can use the `pending`
[command](/docs/redfishclients/ilorest-userguide/ilocommands/#pending-command)
to list pending modifications in the mentioned data types.
Use a `rawget` [command](/docs/redfishclients/ilorest-userguide/rawcommands/#examples-1)
to retrieve the current properties of the above data types.
The URIs of the above data types can be quickly determined with the first example in this
[section](/docs/redfishclients/ilorest-userguide/bioscommands/#bios-commands).
#### Parameters
- **Type**
Specify the type you want to select. Omitting a type to select will cause
select to display the currently selected type.
- **-h, --help**
Including the help flag will display help for the command.
- **--biospassword=BIOSPASSWORD**
Select this flag to input a BIOS password. Include this flag if second-level
BIOS authentication is needed for the command to execute.
NOTE
This option is only used on Gen 9 systems.
#### Login Parameters
The following parameters can be included to login to a server in the same line
as the command is run.
- **--url=URL**
If you are not logged in yet, use the provided iLO URL along with the user
and password flags to login to the server in the same command.
- **-u User, --user=USER**
If you are not logged in yet, use this flag along with the password and URL
flags to login to a server in the same command.
- **-p Password, --password=PASSWORD**
If you are not logged in yet, use this flag along with the user and URL flags
to login. Use the provided iLO password corresponding to the username you
gave to login.
- **--includelogs**
Optionally choose to set the **includelogs** flag. Doing so will include logs
in the data retrieval process.
NOTE
Use this option to limit long login times.
- **--path=PATH**
Optionally set a starting point for data collection. If you do not specify a
starting point, the default path will be `/redfish/v1/`.
Refer to the
[Path Option](/docs/redfishclients/ilorest-userguide/advancedusage/#path-option)
for more information.
NOTE
The `path` flag can only be specified at the time of login, so if you are
already logged into the server, the `path` flag will not change the path.
If you are entering a command that is not the `login` command, but
includes your login information, you can still specify the path flag there.
#### Examples
The following example is for a didactic purpose only. It does not have
any practical use case. It selects all types containing string `em`, regardless the
case:
Example
```shell
ilorest select em
ilorest select
Current selection: ComputerSystem.v1_17_0, ComputerSystemCollection.ComputerSystemCollection,
HpeiLOAccountCertificateMap.v1_0_1,
HpeiLOAccountCertificateMapCollection.HpeiLOAccountCertificateMapCollection,
HpeiLOEmbeddedMedia.v2_0_0, HpeiLOActiveHealthSystem.v2_5_0,
Memory.v1_7_1, MemoryCollection.MemoryCollection,
HpeMaintenanceWindowCollection.HpeMaintenanceWindowCollection,
HpeRemoteSupport.v2_6_0, MemoryDomainCollection.MemoryDomainCollection,
TelemetryService.v1_0_0
```
The following example simultaneously logs in to a remote iLO at the provided URL
with the provided username and password
and selects the `ComputerSystem.` type.
Example
```shell
iLOrest > select ComputerSystem. --url xx.xx.xx.xx -u username -p password
Discovering data...Done
iLOrest > select
Current selection: ComputerSystem.v1_4_0
```
In the previous example, the trailing dot (`.`) of the selected type
excludes the `ComputerSystemCollection` type.
Excluding the collection associated with a type can be useful
to avoid retrieving properties belonging to both types (i.e. `Name`)
as shown in the next example.
Example
```shell
ilorest list Name @odata.id --json --select ComputerSystem
[
{
"@odata.id": "/redfish/v1/Systems/1/",
"Name": "Computer System"
},
{
"@odata.id": "/redfish/v1/Systems/",
"Name": "Computer Systems"
}
]
```
The following example shows how to select all `Bios` subsystems or only `Bios`
by excluding the HPE OEM
extensions.
Select all Bios subsystems
```shell
iLOrest > select Bios
iLOrest > select
Current selection: HpeBiosMapping.v2_0_0, Bios.v1_0_0
```
Select only Bios subsystem
```shell
iLOrest > select Bios.
iLOrest > select
Current selection: Bios.v1_0_0
```
The following example selects all versions of the standard `Drive` data type,
excluding legacy HPE `SmartStorage` types (they contain a "v2" string) and lists the URIs
of the drives in the system.
NOTE
Systems containing [PLDM](/docs/etc/glossaryterms/#glossary)
capable devices may have several type versions:
One version implemented in the management controller (iLO) and
versions implemented within the devices.
Drive types selection
```shell
ilorest select drive.v1
ilorest select
Current selection: Drive.v1_14_0, Drive.v1_16_0
ilorest list "@odata.id" --json
```
Output
```json
[
{
"@odata.id": "/redfish/v1/Systems/1/Storage/DE07C000/Drives/2"
},
{
"@odata.id": "/redfish/v1/Systems/1/Storage/DE07C000/Drives/1"
},
{
"@odata.id": "/redfish/v1/Systems/1/Storage/DE07C000/Drives/0"
},
{
"@odata.id": "/redfish/v1/Chassis/2/Drives/8/"
},
{
"@odata.id": "/redfish/v1/Chassis/2/Drives/6/"
},
{
"@odata.id": "/redfish/v1/Chassis/2/Drives/3/"
},
{
"@odata.id": "/redfish/v1/Chassis/2/Drives/9/"
},
{
"@odata.id": "/redfish/v1/Chassis/2/Drives/7/"
},
{
"@odata.id": "/redfish/v1/Chassis/2/Drives/10/"
},
{
"@odata.id": "/redfish/v1/Chassis/2/Drives/5/"
},
{
"@odata.id": "/redfish/v1/Chassis/2/Drives/1/"
},
{
"@odata.id": "/redfish/v1/Chassis/2/Drives/2/"
},
{
"@odata.id": "/redfish/v1/Chassis/2/Drives/4/"
}
]
```
iLOrest caches data once a type has been selected for the first time.
To refresh a type with the most up to date information use the `--refresh` option.
Example
```shell
iLOrest > select ComputerSystem.
iLOrest > get Oem/Hpe/PowerOnMinutes
Oem=
Hpe=
PowerOnMinutes=814088
iLOrest > select ComputerSystem. --refresh
iLOrest > get Oem/Hpe/PowerOnMinutes
Oem=
Hpe=
PowerOnMinutes=814089
```
TIP
Use the `select --refresh` command to delete/remove changed
settings that have not been [committed](#commit-command), as shown in
the next example.
Example
```shell
ilorest set LocationIndicatorActive=True
Added the following patch:
{
"LocationIndicatorActive": true
}
ilorest status
Current changes found:
ComputerSystem.v1_17_0(/redfish/v1/Systems/1/) (Currently selected)
LocationIndicatorActive=True
ilorest select ComputerSystem. --refresh
Padbol# ilorest status
No changes found
```
### List Command
#### Syntax
`list [Property(s)] [Optional Parameters]`
#### Description
Use this command when a [data type](/docs/concepts/datatypesandcollections/) has already
been [selected](#select-command)
or supplied with the `--select` parameter.
Run without any argument, `list` displays the value(s) of all the properties of the selected
[data type](/docs/concepts/datatypesandcollections/), including
[reserved properties](#reserved-properties). The output can be in human-readable or JSON format.
NOTE
- Supplying a list of nonexistent properties in the selected
type returns [iLOrest error](/docs/redfishclients/ilorest-userguide/errors/) 6:
`No get contents found for selected type.`
- Supplying a list of properties with at least one existent among them
does not return any error. Nonexistent properties are silently
discarded and only valid properties are processed.
- Identical property values of similar objects are only printed once.
Refer to the [example](#examples-4) section below for illustration.
##### Reserved properties
The term ***reserved properties*** refers to "meta properties" like `@odata.*` or resources like `Actions`,
`Links` that are more useful for Redfish clients than for human being.
The `list` command displays reserved properties, while the `get`
[command](#get-command) does not.
TIP
As the list of reserved properties is evolving over time, it is not possible to provide
the exhaustive list. However, you can get an idea of that list by comparing the output
of the `list` and the `get` commands against the `Manager` data type as shown in
the next example.
list and get Manager properties
```shell
ilorest list --json --select Manager. > listManager.json
ilorest get --json --select Manager. > getManager.json
```
Output difference (truncated)
```shell
diff listManager.json getManager.json
2,14d1
< "@odata.context": "/redfish/v1/$metadata#Manager.Manager",
< "@odata.etag": "W/\"99020AD4\"",
< "@odata.id": "/redfish/v1/Managers/1/",
< "@odata.type": "#Manager.v1_5_1.Manager",
< "Actions": {
< "#Manager.Reset": {
< "ResetType@Redfish.AllowableValues": [
< "ForceRestart",
< "GracefulRestart"
< ],
< "target": "/redfish/v1/Managers/1/Actions/Manager.Reset/"
< }
< },
....
205,248d133
< "Links": {
< "ActiveHealthSystem": {
< "@odata.id": "/redfish/v1/Managers/1/ActiveHealthSystem/"
< },
< "BackupRestoreService": {
< "@odata.id": "/redfish/v1/Managers/1/BackupRestoreService/"
< },
< "DateTimeService": {
< "@odata.id": "/redfish/v1/Managers/1/DateTime/"
< },
< "EmbeddedMediaService": {
< "@odata.id": "/redfish/v1/Managers/1/EmbeddedMedia/"
< },
< "FederationDispatch": {
< "extref": "/dispatch"
< },
...
```
#### Parameters
- **Property(s)**
Supplying a property or a list of properties causes `list` to display the
current value for that particular property or properties.
NOTE
- Supplying a list of nonexistent properties in the selected
type returns [iLOrest error](/docs/redfishclients/ilorest-userguide/errors/) 6:
`No get contents found for selected type.`
- Supplying a list of properties with at least one existent among them
does not return any error. Nonexistent properties are silently
discarded and only valid properties are processed.
- Identical property values of similar objects are only printed once.
Refer to the [example](#examples-4) section below for illustration.
- **-h, --help**
Including the help flag will display help for the command.
- **--selector=SELECTOR** or **--select SELECTOR**
The `--selector` or `--select` parameter allows you to select
a [data type](/docs/concepts/datatypesandcollections/) prior to
run the command. This is a quick way to select a type and
work on a different type
than the one already selected.
- **--filter [FILTER_ATTRIBUTE=FILTER_VALUE]**
Optionally provide a filter `key=value` to select only properties matching this filter. Refer to the
[Filter Option](/docs/redfishclients/ilorest-userguide/advancedusage/#filter-option)
for more information and examples.
- **-j, --json**
Include this flag if you wish to change the displayed output to
JSON format. Preserving the JSON data structure can make the information
easier to parse.
#### Login Parameters
The following parameters can be included to login to a server in the same line
as the command is run.
- **--url=URL**
If you are not logged in yet, use the provided iLO URL along with the user and
password flags to login to the server in the same command.
- **-u User, --user=USER**
If you are not logged in yet, use this flag along with the password and
URL flags to login to a server in the same command.
- **-p Password, --password=PASSWORD**
If you are not logged in yet, use this flag along with the user and URL flags
to login. Use the provided iLO password corresponding to the username you gave
to login.
- **--includelogs**
Optionally choose to set the **includelogs** flag. Doing so will include
logs in the data retrieval process.
NOTE
Use this option to limit long login times.
- **--path=PATH**
Optionally set a starting point for data collection. If you do not specify a
starting point, the default path will be `/redfish/v1/`.
Refer to the [Path Option](/docs/redfishclients/ilorest-userguide/advancedusage/#path-option)
for more information.
NOTE
The `path` flag can only be specified at the time of login, so if you are
already logged into the server, the `path` flag will not change the path.
If you are entering a command that is not the `login` command, but includes
your login information, you can still specify the path flag there.
- **--logout**
Optionally include the logout flag to log out of the server after this
command is completed. You need to be logged in to use this flag.
#### Examples
The following example lists all the properties of the `Bios` data type, in human readable
and JSON formats.
Interactive human readable (truncated)
```shell
iLOrest > select Bios.
iLOrest > list
@odata.context=/redfish/v1/$metadata#Bios.Bios
@odata.etag=W/"02E13BA89B606F6F6F02950EB3CA676D"
@odata.id=/redfish/v1/systems/1/bios/settings/
@odata.type=#Bios.v1_0_0.Bios
AcpiHpet=Enabled
AcpiRootBridgePxm=Enabled
AcpiSlit=Enabled
AdjSecPrefetch=Enabled
AdminEmail=""
AdminName=""
...
```
JSON format (truncated)
```json
iLOrest > select ComputerSystem.
iLOrest > list --json
{
"@odata.context": "/redfish/v1/$metadata#ComputerSystem.ComputerSystem",
"@odata.etag": "W/\"9D48B4B7\"",
"@odata.id": "/redfish/v1/Systems/1/",
"@odata.type": "#ComputerSystem.v1_4_0.ComputerSystem",
"Actions": {
"#ComputerSystem.Reset": {
"ResetType@Redfish.AllowableValues": [
"On",
"ForceOff",
"ForceRestart",
"Nmi",
"PushPowerButton"
],
"target": "/redfish/v1/Systems/1/Actions/ComputerSystem.Reset/"
}
},
"AssetTag": "",
"Bios": {
"@odata.id": "/redfish/v1/systems/1/bios/"
},
"BiosVersion": "U32 v2.10 (12/14/2018)",
"Boot": {
"BootSourceOverrideTarget": "None",
"BootSourceOverrideTarget@Redfish.AllowableValues": [
"None",
"Cd",
"Hdd",
...
```
To return specific properties or sub-properties value, include them as arguments.
If the property you want to return is a sub-property add them in the form
`Property/Sub-property`.
Best Practice
Although iLOrest arguments are not case-sensitive, it is a
best practice to respect the case sensitivity of arguments. You may
have to use Redfish clients that request the respect of the case.
The following example retrieves three properties from the `ComputerSystem`
[type](/docs/concepts/datatypesandcollections/).
The `AssetTag` property exists, but has an empty value ("").
Example
```shell
iLOrest > list @odata.id Boot/BootSourceOverrideMode AssetTag --select ComputerSystem.
@odata.id=/redfish/v1/Systems/1/
AssetTag=""
Boot=
BootSourceOverrideMode=UEFI
```
The following example tries retrieves a non-existing property (verbose mode)
in the `ComputerSystem` type.
Example
```shell
ilorest -vv list foo --select ComputerSystem.
Selected option(s): #ComputerSystem.v1_17_0.ComputerSystem
Error: No get contents found for selected type.
iLORest return code: 6
```
The following example asks, in verbose mode, for the values of an existing
(`PowerState`) and a non-existing (`foo`) properties in the `ComputerSystem.` subsystem.
Example
```shell
ilorest -vv list PowerState foo --select ComputerSystem. --json
Selected option(s): #ComputerSystem.v1_17_0.ComputerSystem
{
"PowerState": "On"
}
iLORest return code: 0
```
The following example selects the `Bios` data type before
asking, in verbose mode, for the values of properties belonging to another
data type (`Memory.`). As a consequence, iLOrest returns an error.
Example
```shell
ilorest select Bios.
ilorest -v list CapacityMiB Name Vend --json
Selected option(s): #Bios.v1_0_0.Bios
Error: No get contents found for selected type.
iLORest return code: 6
```
The following example selects the `Bios.` type
and then switches to the `Memory.` type to retrieve
the values of three properties. However, one of
them (`Vend`) is not spelled correctly. As a result,
only valid properties are returned.
Incorrect property
```shell
ilorest select Bios.
ilorest -v list CapacityMiB Name Vend --json --select Memory.
```
Output (truncated)
```json
Selected option(s): #Memory.v1_7_1.Memory
[
{
"CapacityMiB": 32768,
"Name": "proc1dimm12"
},
{
"CapacityMiB": 0,
"Name": "proc2dimm11"
},
{
"CapacityMiB": 0,
"Name": "proc2dimm7"
},
....
{
"CapacityMiB": 0,
"Name": "proc2dimm9"
}
]
iLORest return code: 0
```
The following example retrieves the value of the `CapacityMiB`
property in the `Memory.` subsystem. Several memory slots are populated with identical DIMMs (32768 MiB),
but not all of them. In this case, iLOrest returns only two values: `0` and `32768`.
Example
```shell
ilorest list CapacityMiB --json --select Memory.
[
{
"CapacityMiB": 0
},
{
"CapacityMiB": 32768
}
]
```
The following example retrieves the values of the `CapacityMiB` and `Name`
properties in the `Memory.` subsystem. The `Name` value is different
for each and every DIMM slot, populated or not. Hence the output displays
both values for each memory slot. Output is truncated.
Example
```shell
ilorest list CapacityMiB Name --json --select Memory.
[
{
"CapacityMiB": 0,
"Name": "proc2dimm2"
},
{
"CapacityMiB": 0,
"Name": "proc1dimm12"
},
{
"CapacityMiB": 32768,
"Name": "proc2dimm8"
},
...
{
"CapacityMiB": 32768,
"Name": "proc1dimm4"
},
{
"CapacityMiB": 0,
"Name": "proc1dimm6"
}
]
```
### Info Command
#### Syntax
`info [Property(s)] [Optional Parameters]`
#### Description
Displays detailed information about a property within a selected type.
Information includes the data type of the value, if the property
is read-only or not, a brief description, possible values, and any
sub-properties associated with the property.
#### Parameters
-**--selector=SELECTOR** or **--select SELECTOR**
The `--selector` or `--select` parameter allows you to select
a [data type](/docs/concepts/datatypesandcollections/) prior to
run the command. This is a quick way to select a type and
work on a different type
than the one already selected.
- **-h, --help**
Including the `--help` parameter displays help for the command.
- **-j, --json**
Optionally include this flag if you wish to change the displayed output to
JSON format. Preserving the JSON data structure makes the information
easier to read.
#### Login Parameters
The following parameters can be included to login to a server in the same
line as the command is run.
- **--url=URL**
If you are not logged in yet, use the provided iLO URL along with the user
and password flags to login to the server in the same command.
- **-u User, --user=USER**
If you are not logged in yet, use this flag along with the password and URL
flags to login to a server in the same command.
- **-p Password, --password=PASSWORD**
If you are not logged in yet, use this flag along with the user and URL flags
to login. Use the provided iLO password corresponding to the username you gave
to login.
- **--includelogs**
Optionally choose to set the **includelogs** flag. Doing so will include logs
in the data retrieval process.
NOTE
Use this option to limit long login times.
- **--path=PATH**
Optionally set a starting point for data collection. If you do not specify a
starting point, the default path will be `/redfish/v1/`.
Refer to the [Path Option](/docs/redfishclients/ilorest-userguide/advancedusage/#path-option) for more information.
NOTE
The `path` flag can only be specified at the time of login, so if you are already
logged into the server, the `path` flag will not change the path. If you are
entering a command that is not the `login`
command, but includes your login information,
you can still specify the path flag there.
- **--logout**
Optionally include the logout flag to log out of the server after this
command is completed. You need to be logged in to use this flag.
#### Examples
Without any supplied property, `info` lists all
available options in the selected [type](/docs/concepts/datatypesandcollections/).
In the next example, the full list is truncated.
Example
```shell
iLOrest > select Bios.
iLOrest > info
Info options:
AcpiHpet
AcpiRootBridgePxm
AcpiSlit
AdjSecPrefetch
AdminEmail
AdminName
AdminOtherInfo
AdminPhone
...
```
This following example simultaneously logs into a remote Redfish service at the provided
URL (`--url`) with the provided username (`-u`) and password (`-p`),
selects the `Power.` type, and displays the `PowerSupplies` property information.
Example
```shell
iLOrest > info PowerSupplies -u username -p password --url xx.xx.xx.xx --select Power.
Discovering data...Done
NAME
PowerSupplies
DESCRIPTION
Details of the power supplies associated with this system or
device
TYPE
array
READ-ONLY
True
SUB-PROPERTIES
Redundancy, Name, SerialNumber, MemberId, @odata.id,
PowerCapacityWatts, Model, PartNumber, Status,
LastPowerOutputWatts, SparePartNumber, RelatedItem,
LineInputVoltageType, Oem, PowerSupplyType, LineInputVoltage,
FirmwareVersion, Manufacturer
```
Multiple properties belonging to the `VirtualMedia` type are specified in the next example.
Example
```shell
iLOrest > select VirtualMedia.
iLOrest > info Image WriteProtected
NAME
Image
DESCRIPTION
The valid URI indicating the image that is mounted on this server.
A null value indicates that no image exists.
TYPE
string
null
READ-ONLY
False
**************************************************
NAME
WriteProtected
DESCRIPTION
Indicates whether the virtual media is protected against write
operations.
TYPE
boolean
null
READ-ONLY
False
POSSIBLE VALUES
True or False
```
Any Sub-Properties shown in an info response can be queried in the same form
as `set`, `list`, and `get`: `Property/Sub-property`.
Example
```shell
iLOrest > select ComputerSystem.
iLOrest > info Boot
NAME
Boot
DESCRIPTION
The boot information for the current resource.
TYPE
object
READ-ONLY
False
SUB-PROPERTIES
BootSourceOverrideTarget,
BootSourceOverrideTarget@Redfish.AllowableValues,
BootSourceOverrideEnabled, BootSourceOverrideMode,
UefiTargetBootSourceOverride@Redfish.AllowableValues,
UefiTargetBootSourceOverride
iLOrest > info Boot/BootSourceOverrideTarget
NAME
BootSourceOverrideTarget
DESCRIPTION
The current boot source to be used at next boot instead of the
normal boot device, if BootSourceOverrideEnabled is true.
TYPE
string
null
READ-ONLY
False
```
### Get Command
#### Syntax
`get [Property(s)] [Optional Parameters]`
#### Description
Use this command only after a [type](/docs/concepts/datatypesandcollections/) has already been selected
or supplied with the `--select` parameter.
Run without any argument, `get`displays the value(s) of all the propertie(s) of a selected
[data type](/docs/concepts/datatypesandcollections/) excluding
[reserved properties](#reserved-properties). The output can be in human-readable or JSON format.
NOTE
- Supplying a list of nonexistent properties in the selected
type returns [iLOrest error](/docs/redfishclients/ilorest-userguide/errors/) 6:
`No get contents found for selected type.`
- Supplying a list of properties with at least one existent among them
does not return any error. Nonexistent properties are silently
discarded and only valid properties are processed.
- Identical property values of similar objects are only printed once.
Refer to the [example](#examples-6) section below for illustration.
#### Parameters
- **Property(s)**
Supplying a property or multiple properties causes `get` to display
the current value for that particular property or properties.
If you want to retrieve all the values of all the properties, run without arguments.
This is still assuming you have a type already selected.
- **-h, --help**
Including the `help` flag displays help for the command.
- **--selector=SELECTOR** or **--select SELECTOR**
The `--selector` or `--select` parameter allows you to select
a [data type](/docs/concepts/datatypesandcollections/) prior to
run the command. This is a quick way to select a type and
work on a different type than the one already selected.
- **--filter [FILTER_ATTRIBUTE=FILTER_VALUE]**
Optionally provide a filter `key=value` to select only properties matching this filter. Refer to the
[Filter Option](/docs/redfishclients/ilorest-userguide/advancedusage/#filter-option)
for more information and examples.
- **-j, --json**
Include this flag to change the displayed output to JSON format.
Preserving the JSON data structure makes the information easier to read.
- **--noreadonly**
Include this flag to display properties that are not read-only.
This is useful to see what is configurable with the selected type(s).
#### Login Parameters
The following parameters can be included to login to a server in the same line
as the command is run.
- **--url=URL**
If you are not logged in yet, use the provided iLO URL along with the user and
password flags to login to the server in the same command.
- **-u User, --user=USER**
If you are not logged in yet, use this flag along with the password and URL
flags to login to a server in the same command.
- **-p Password, --password=PASSWORD**
If you are not logged in yet, use this flag along with the user and URL
flags to login. Use the provided iLO password corresponding to the username
you gave to login.
- **--includelogs**
Optionally choose to set the **includelogs** flag. Doing so will include
logs in the data retrieval process.
NOTE
Use this option to limit long login times.
- **--path=PATH**
Optionally set a starting point for data collection. If you do not specify a
starting point, the default path will be `/redfish/v1/`.
Refer to the
[Path Option](/docs/redfishclients/ilorest-userguide/advancedusage/#path-option) for more information.
NOTE
The `path` flag can only be specified at the time of login, so if you are
already logged into the server, the `path` flag will not change the path.
If you are entering a command that is not the `login` command, but includes
your login information, you can still specify the path flag there.
- **--logout**
Optionally include the logout flag to log out of the server after this
command is completed. You need to be logged in to use this flag.
#### Examples
Using `get` without any property returns the values of all
the properties in the selected
type. In the following example, the output is truncated.
Best Practice
Although iLOrest arguments are not case-sensitive, it is a
best practice to respect the case sensitivity of arguments. You may
have to use Redfish clients that request the respect of the case.
Example
```shell
iLOrest > select Bios.
iLOrest > get
AcpiHpet=Enabled
AcpiRootBridgePxm=Enabled
AcpiSlit=Enabled
AdjSecPrefetch=Enabled
AdminEmail=""
AdminName=Michael L
AdminOtherInfo=""
AdminPhone=""
...
```
The following example prints the value of a property belonging
to the type selected in the previous example (`Bios.`)
Example
```shell
iLOrest > get AdminName
AdminName=Jason E
```
This command simultaneously logs in to a remote iLO at the provided URL (`--url`)
with the provided username (-u) and password (-p), selects the `Bios.`
type, and the `get` command is used to retrieve the `BootOrderPolicy`
property of `Bios.`
Example
```shell
iLOrest > get BootOrderPolicy --url xx.xx.xx.xx -u username -p password --select Bios.
Discovering data...Done
BootOrderPolicy=RetryIndefinitely
```
Because the `--logout` parameter is included in the next example,
the user is logged out of the remote
Redfish service after the `get` command is performed.
Example
```shell
iLOrest > select ComputerSystem.
iLOrest > get AssetTag --logout
AssetTag=""
Logging session out.
```
The following example retrieve multiple property and sub-property values,
using the `/` separator.
Example
```shell
iLOrest > select ComputerSystem.
iLOrest > get MemorySummary
MemorySummary=
Status=
HealthRollup=OK
TotalSystemPersistentMemoryGiB=0
TotalSystemMemoryGiB=32
iLOrest > get MemorySummary/Status MemorySummary/TotalSystemMemoryGiB AssetTag
AssetTag=""
MemorySummary=
Status=
HealthRollup=OK
TotalSystemMemoryGiB=32
```
You can use the `noreadonly` flag to narrow down your results
to only retrieve properties that are writeable.
All properties
```shell
iLOrest > select ComputerSystem.
iLOrest > get
AssetTag=""
BiosVersion=U32 v2.10 (12/14/2018)
Boot=
BootSourceOverrideTarget=None
BootSourceOverrideTarget@Redfish.AllowableValues=None
Cd
Hdd
Usb
SDCard
Utilities
Diags
BiosSetup
Pxe
UefiShell
UefiHttp
UefiTarget
BootSourceOverrideEnabled=Disabled
...
```
Writeable only properties
```shell
iLOrest > get --noreadonly --select ComputerSystem.
AssetTag=""
Boot=
BootSourceOverrideTarget=None
BootSourceOverrideEnabled=Disabled
BootSourceOverrideMode=Legacy
UefiTargetBootSourceOverride=None
HostName=ahostname
IndicatorLED=Unknown
Oem=
Hpe=
EndOfPostDelaySeconds=None
PowerOnDelay=Minimum
ServerFQDN=""
PowerAutoOn=RemainOff
PostMode=None
ProcessorJitterControl=
Mode=Auto
PostDiscoveryMode=None
PowerRegulatorMode=OSControl
```
The following example selects the `Bios` data type before
asking, in verbose mode, for the values of properties belonging to another
data type (`Memory.`). As a consequence, iLOrest returns an error.
Example
```shell
ilorest select Bios.
ilorest -v get CapacityMiB Name Vend --json
Selected option(s): #Bios.v1_0_0.Bios
Error: No get contents found for selected type.
iLORest return code: 6
```
The following example selects the `Bios.` type
and then switches to the `Memory.` type to retrieve
the values of three properties. However, one of
them (`Vend`) is not spelled correctly.
Incorrect property
```shell
ilorest select Bios.
ilorest -v get CapacityMiB Name Vend --json --select Memory.
```
Output (truncated)
```json
Selected option(s): #Memory.v1_7_1.Memory
[
{
"CapacityMiB": 32768,
"Name": "proc1dimm12"
},
{
"CapacityMiB": 0,
"Name": "proc2dimm11"
},
{
"CapacityMiB": 0,
"Name": "proc2dimm7"
},
....
{
"CapacityMiB": 0,
"Name": "proc2dimm9"
}
]
iLORest return code: 0
```
The following example retrieves the value of the `CapacityMiB`
property in the `Memory.` subsystem. Several memory slots are populated with identical DIMMs (32768 MiB),
but not all of them. In this case, iLOrest returns only two values: `0` and `32768`.
Example
```shell
ilorest get CapacityMiB --json --select Memory.
[
{
"CapacityMiB": 0
},
{
"CapacityMiB": 32768
}
]
```
The following example retrieves the value of the `CapacityMiB` and `Name`
properties in the `Memory.` subsystem. The `Name` value is different
for each and every DIMM slot, populated or not. Hence the output displays
both values for each memory slot.
Truncated output
```shell
ilorest get CapacityMiB Name --json --select Memory.
[
{
"CapacityMiB": 0,
"Name": "proc2dimm2"
},
{
"CapacityMiB": 0,
"Name": "proc1dimm12"
},
{
"CapacityMiB": 32768,
"Name": "proc2dimm8"
},
...
{
"CapacityMiB": 32768,
"Name": "proc1dimm4"
},
{
"CapacityMiB": 0,
"Name": "proc1dimm6"
}
]
```
### Set Command
#### Syntax
`set [Property=Value] [Path] [Optional Parameters]`
NOTE
The syntax formats used to set properties can be tricky if not done correctly.
See the following examples to illustrate how the syntax works.
- `set AdminName=John`
**Correct** syntax. This sets the `AdminName` to John.
- `set "AdminName=John Doe"`
**Correct** syntax. If the property has a space in it, use quotes
around the entire property/value pair. Here the `AdminName` has been set
to John Doe.
- `set AdminName=""`
**Correct** syntax. Use this syntax, only quotes with no value,
to remove the `AdminName` property value.
- `set AdminName=''`
**Correct** syntax. This is an alternate syntax that also removes the
`AdminName` property and sets it to nothing. Use single quotes with
nothing between them.
- `set AdminName='"'`
**Correct** syntax. This deletes the `AdminName` value.
- `set AdminName="John Doe"`
This is **incorrect** syntax, and will not be correctly reflected on the server.
#### Description
Changes the value of a property in a currently selected type.
Multiple properties can be set simultaneously.
NOTE
Read-only and System-unique properties like Serial Numbers
and ProductId are skipped, and remaining continue to be set.
NOTE
If System-unique properties need to be set, use `--uniqueoverride`
option.
Warning
The changes set will be reflected on the server only after committing them.
#### Parameters
- **Property(s)**
Supplying a property and a value stagee an update to that property with the
supplied value.
- **-h, --help**
Including the help flag will display help for the command.
- **--selector=SELECTOR**
Optionally including the **selector** flag allows you to select a type to
run while running the current command. Use this flag when you wish to select
a type without entering another command, or if you wish to work with a type
that is different from the one you currently have selected.
- **--filter [FILTER_ATTRIBUTE=FILTER_VALUE]**
Optionally set a filter value for a filter attribute. This uses the provided
filter for the currently selected type. Refer to the
[Filter Option](/docs/redfishclients/ilorest-userguide/advancedusage/#filter-option) for more information.
NOTE
Use this flag to narrow down your results. For example, selecting a common
type might return multiple objects that are all of that type.
If you want to modify the properties of only one of those objects,
use the filter flag to narrow down results based on properties.
- **--commit**
Use this flag when you are ready to commit all pending changes. Some changes
made in this way will be updated instantly, while others will be reflected the
next time the server is started.
- **--biospassword=BIOSPASSWORD**
Select this flag to input a BIOS password. Include this flag if second-level
BIOS authentication is needed for the command to execute.
NOTE
This option is only used on Gen 9 systems.
- **--reboot=REBOOT**
Use this flag to perform a reboot command function after completion of
operations. For help with parameters and descriptions regarding the reboot
flag, run `help reboot`.
- **--uniqueoverride**
Override the measures stopping the tool from writing over items that are System-unique.
#### Login Parameters
The following parameters can be included to login to a server in the same line
as the command is run.
- **--url=URL**
If you are not logged in yet, use the provided iLO URL along with the user and
password flags to login to the server in the same command.
- **-u User, --user=USER**
If you are not logged in yet, use this flag along with the password and URL
flags to login to a server in the same command.
- **-p Password, --password=PASSWORD**
If you are not logged in yet, use this flag along with the user and URL flags
to login. Use the provided iLO password corresponding to the username you gave to login.
- **--includelogs**
Optionally choose to set the **includelogs** flag. Doing so will include logs
in the data retrieval process.
NOTE
Use this option to limit long login times.
- **--path=PATH**
Optionally set a starting point for data collection. If you do not specify a
starting point, the default path will be `/redfish/v1/`.
Refer to the
[Path Option](/docs/redfishclients/ilorest-userguide/advancedusage/#path-option)
for more information.
NOTE
The `path` flag can only be specified at the time of login, so if you are
already logged into the server, the `path` flag will not change the path.
If you are entering a command that is not the `login` command, but
includes your login information, you can still specify the path flag there.
- **--logout**
Optionally include the logout flag to log out of the server after this command
is completed. You need to be logged in to use this flag.
#### Examples
NOTE
Arguments are not case-sensitive.
You can set multiple properties from the same type simultaneously. Add quotes
around the property and value to add spaces in the value.
NOTE
Even though the `get` command shows **ServiceName** is set to **ExampleService**
and **AdminName** set to **Jason E**, the `commit` command must
be performed next for the changes to be updated on the server.
Example
```shell
iLOrest > select Bios.
iLOrest > get AdminName ServiceName
AdminName=""
ServiceName=""
iLOrest > set "AdminName=Jason E" ServiceName=ExampleService
iLOrest > get AdminName ServiceName
AdminName=Jason E
ServiceName=ExampleService
```
This command simultaneously logs in to the server at the provided URL
(`--url`) with the provided username (`-u`) and password (`-p`),
and then selects the `Bios.` type. The `set` command is used to set
the `AdminName` property to `Jason E`, and the commit flag has
been added to apply the changes to the server.
Example
```shell
iLOrest > set "AdminName=Jason E" --url xx.xx.xx.xx -u username -p password --select Bios. --commit
Discovering data...Done
Committing changes...
One or more properties were changed and will not take effect until system is reset.
```
To revert your changes on a type you can use the refresh flag.
Example
```shell
iLOrest > select Bios.
iLOrest > get AdminName
AdminName=Jason E
iLOrest > set AdminName=JohnDoe
iLOrest > get AdminName
AdminName=JohnDoe
iLOrest > select Bios. --refresh
iLOrest > get AdminName
AdminName=Jason E
```
### Save Command
#### Syntax
`save [Optional Parameters]`
#### Description
Saves the JSON information of a selected type to a local file. Use this
command along with the `load` command when you want to modify properties of a
selected type through file editing. Using this command saves a local copy
of your selected type’s JSON information.
#### Parameters
- **-h, --help**
Including the help flag will display help for the command.
- **-f FILENAME, --filename=FILENAME**
Use this flag if you wish to use a different filename than the default one.
The default filename is `ilorest.json`.
- **--selector=SELECTOR**
Optionally including the **selector** flag allows you to select a type to run
while running the current command. Use this flag when you wish to select a type
without entering another command, or if you wish to work with a type that
is different from the one you currently have selected.
- **--multisave=MULTISAVE**
Optionally include this flag to save multiple types of single file. Override
the currently selected type.
- **--filter [FILTER_ATTRIBUTE=FILTER_VALUE]**
Optionally set a filter value for a filter attribute. This uses the provided
filter for the currently selected type. Refer to the
[Filter Option](/docs/redfishclients/ilorest-userguide/advancedusage/#filter-option)
for more information.
NOTE
Use this flag to narrow down your results. For example, selecting a common
type might return multiple objects that are all of that type.
If you want to modify the properties of only one of those objects,
use the filter flag to narrow down results based on properties.
Refer to the [example](/docs/redfishclients/ilorest-userguide/globalcommands/#examples-8)
section below for an example.
- **-j, --json**
Optionally include this flag if you wish to change the displayed output to JSON
format. Preserving the JSON data structure makes the information easier to read.
- **--encryption=ENCRYPTION**
Optionally include this flag to encrypt a file using the key provided.
#### Login Parameters
The following parameters can be included to login to a server in the same line
as the command is run.
- **--url=URL**
If you are not logged in yet, use the provided iLO URL along with the user and
password flags to login to the server in the same command.
- **-u User, --user=USER**
If you are not logged in yet, use this flag along with the password and URL
flags to login to a server in the same command.
- **-p Password, --password=PASSWORD**
If you are not logged in yet, use this flag along with the user and URL flags
to login. Use the provided iLO password corresponding to the username you gave
to login.
- **--includelogs**
Optionally choose to set the **includelogs** flag. Doing so will include logs
in the data retrieval process.
NOTE
Use this option to limit long login times.
- **--path=PATH**
Optionally set a starting point for data collection. If you do not specify a
starting point, the default path will be `/redfish/v1/`.
Refer to the [Path Option](/docs/redfishclients/ilorest-userguide/advancedusage/#path-option)
for more information.
NOTE
The `path` flag can only be specified at the time of login, so if you are
already logged into the server, the `path` flag will not change the path.
If you are entering a command that is not the `login`
command, but includes your login information, you can still specify the path
flag there.
- **--logout**
Optionally include the logout flag to log out of the server after this
command is completed. You need to be logged in to use this flag.
#### Examples
In the following example, iLOrest logs into a remote iLO,
selects the `Bios.` subsystem and saves its configuration
into the default `ilorest.json` file.
Warning
A `--select Bios.` selection points to its
[pending/settings area](/docs/concepts/biosdatamodel/#bios-current-and-pending-areas)
The pending area may differ from the running/current area if you have not
cold rebooted the server after a committed modification.
The above statement is true for all the commands accepting
the `--select` [parameter](/docs/redfishclients/ilorest-userguide/globalcommands/#select-command), including the `get` and `list` global commands.
The following selectors (data types) behave like `Bios.`:
- `HpeServerBootSettings.`
- `HpeiSCSISoftwareInitiator.`
- `HpeKmsConfig.`
- `HpeServerConfigLock.`
- `HpeTlsConfig.`
- `SmartStorageConfig.` (iLO 5 only)
- `NetworkAdapter.v1`F
You can use the `pending` [command](/docs/redfishclients/ilorest-userguide/ilocommands/#pending-command)
to list pending modifications in the mentioned data types.
Use a `rawget` [command](/docs/redfishclients/ilorest-userguide/rawcommands/#examples-1) to retrieve the current properties of the above data types.
The URIs of the above data types can be quickly determined with the first example in this
[section](/docs/redfishclients/ilorest-userguide/bioscommands/#bios-commands).
Saving Bios configuration
```shell
iLOrest > save --select Bios. --url xx.xx.xx.xx -u username -p password
Discovering data...Done
Saving configuration...
Configuration saved to: ilorest.json
```
Output
```json
[
{
"Comments": {
"Manufacturer": "HPE",
"Model": "ProLiant DL360 Gen10",
"BIOSFamily": "U32",
"BIOSDate": "12/14/2018",
"SerialNumber": "Kappa",
"iLOVersion": "iLO 5 v1.40"
}
},
{
"#Bios.v1_0_0.Bios": {
"/redfish/v1/systems/1/bios/settings/": {
"@odata.context": "/redfish/v1/$metadata#Bios.Bios",
"@odata.etag": "W/\"02E13BA89B606F6F6F02950EB3CA676D\"",
"@odata.id": "/redfish/v1/systems/1/bios/settings/",
"AttributeRegistry": "BiosAttributeRegistryU32.v1_2_10",
"Attributes": {
"MemFastTraining": "Enabled",
"PowerRegulator": "DynamicPowerSavings",
"EmbeddedDiagnostics": "Enabled",
"Ipv6Address": "::",
"PersistentMemBackupPowerPolicy": "UseExternalBackupPower",
"ServiceEmail": "",
"FlexLom1Aspm": "Disabled",
"UrlBootFile": "",
"DcuStreamPrefetcher": "Enabled",
"IntelNicDmaChannels": "Enabled",
"...": "..."
},
"Id": "settings",
"Name": "BIOS Pending Settings"
}
}
}
]
```
Use the `--multisave` option to specify multiple types to save in a single
file. This file can be sent to load in order to load multiple types with
a single command. All type strings are delimited by a ','.
Example
```shell
iLOrest > save --multisave Bios.,ComputerSystem.
Discovering data...Done
Saving configuration...
Configuration saved to: ilorest.json
```
The following example simultaneously logs in to the server at the provided URL
(`--url`) with the provided username (`-u`) and password (`-p`),
selects the `Bios.` type, saves the JSON response to a file called
`BiosInfo.json` in the current local directory, and then logs out.
Example
```shell
iLOrest > save --select Bios. --url xx.xx.xx.xx -u username -p password -f BiosInfo.json --logout
Discovering data...Done
Saving configuration...
Configuration saved to: BiosInfo.json
Logging session out.
```
The following example saves the configuration of the iLO shared network port.
Use `Name="Manager Dedicated*` to retrieve the iLO dedicated network port configuration.
NOTE
The following example excludes IPv4 and IPv6 information for security reasons.
Refer to these [best practices](/docs/redfishclients/ilorest-userguide/examplecommandsscripts/#network-configuration-best-practices)
mentioned before modifying the iLO network configuration.
You can use the `ethernet save`
[command](/docs/redfishclients/ilorest-userguide/ilocommands/#ethernet-command)
to retrieve the configuration of ethernet interfaces (manager and system), including their IP configuration.
Use the `ethernet --network-ipv4` to modify the iLO IP network
configuration.
TIP
Example
```shell
ilorest save --selector EthernetInterface. --filter Name="Manager Shared*" -f SaveSharedPort.json --json
```
### Load Command
#### Syntax
`load [Optional Parameters]`
#### Description
Loads the server configuration from a file. Run this command without
parameters to use the configuration found in the file called `ilorest.json`.
Otherwise, you can point this command to use any file you specify.
Use this function to change the properties of a type to new values.
This command uploads the new values of the type’s properties to the server.
NOTES
- By default and in order to avoid unwanted communication interruptions
to the ilO Dedicated Network Port, the `load` command skips modifications
in the `EthernetInterfaces/1` resource. Use the `--force_network_config`
parameter to modify this resource.
- **Read-only** and **System-unique** properties like Serial Numbers
and ProductId are skipped, and remaining continue to be set.
- If **System-unique** properties need to be set, use `--uniqueoverride` option.
Refer to these
[examples](/docs/redfishclients/ilorest-userguide/examplecommandsscripts/#set-ilo-networking-properties)
to change the IP iLO network configuration.
#### Parameters
- **-h, --help**
Including the help flag will display help for the command.
- **-f FILENAME, --filename=FILENAME**
Use this flag if you wish to use a different filename than the default one.
The default filename is `ilorest.json`.
- **--biospassword=BIOSPASSWORD**
Select this flag to input a BIOS password. Include this flag if second-level
BIOS authentication is needed for the command to execute.
NOTE
This option is only used on Gen 9 systems.
- **--uniqueoverride**
Override the measures stopping the tool from writing over items that are System-unique.
- **--force_network_config**
Force loading iLO network configuration. By default, `load` discards these properties.
- **-m MPFILENAME, --multiprocessing=MPFILENAME**
Optionally supply a filename to a multi-processing file to load concurrently
on multiple servers.
- **-o OUTDIRECTORY, --outputdirectory=OUTDIRECTORY**
Use the provided directory to output data for a multiple server configuration.
- **--encryption=ENCRYPTION**
Optionally include this flag to decrypt a file using the key provided.
#### Login Parameters
The following parameters can be included to login to a server in the same line
as the command is run.
- **--url=URL**
If you are not logged in yet, use the provided iLO URL along with the user and
password flags to login to the server in the same command.
- **-u User, --user=USER**
If you are not logged in yet, use this flag along with the password and URL
flags to login to a server in the same command.
- **-p Password, --password=PASSWORD**
If you are not logged in yet, use this flag along with the user and URL flags
to login. Use the provided iLO password corresponding to the username you gave to login.
- **--logout**
Optionally include the logout flag to log out of the server after this command
is completed. You need to be logged in to use this flag.
#### Examples
NOTE
Refer to this
[section](http://localhost:3000/docs/redfishclients/ilorest-userguide/examplecommandsscripts/#configure-ilo-ip-addresses)
for an example using the `--force_network_config` parameter.
If no filename is supplied with the (`-f`, `--filename`) option, the `load` command looks for a
file named `ilorest.json` in the current working directory.
Save will automatically select the required type to make changes.
Example
```shell
iLOrest > load
Loading configuration...
Committing changes...
One or more properties were changed and will not take effect until system is reset.
```
This command simultaneously logs in to the server at the provided URL
(`--url`) with the provided username (`-u`) and password (`-p`)
and load a file from the current working directory called `biosconfig.json`.
Example
```shell
iLOrest > load --url xx.xx.xx.xx -u username -p password -f biosconfig.json
Discovering data...Done
Loading configuration...
Committing changes...
One or more properties were changed and will not take effect until system is reset.
```
This is the multi-server configuration setup. You must pass in a multi-server
file in the following format.
Example
```shell
iLOrest > load -m mpfilename.txt -f biosconfig.json
Discovering data...Done
Loading configuration for multiple servers...
Logging session out.
Checking given server information...
Create multiple processes to load configuration concurrently to all servers...
Loading Configuration for xx.xx.xx.xx : SUCCESS
Loading Configuration for xx.xx.xx.xy : SUCCESS
All servers have been successfully configured.
```
All servers are configured concurrently. Because the filename tag is included,
it searches for the file called `biosconfig.json` and loads that information
to the servers. If no values have changed, the load process is complete.
If any property values have changed, the changes are committed and the
user is logged out of the server. Logs of the entire process are then
stored in the same location as the iLOrest logs.
Example
```shell
--url 10.0.0.100 -u username -p password
--url 10.0.0.101 -u username -p password
--url 10.0.0.102 -u username -p password
--url 10.0.0.103 -u username -p password
```
### Status Command
#### Syntax
`status [Optional Parameters]`
#### Description
Displays all pending changes, regardless of which type is
currently selected. All the changes that have not been committed yet
will be shown.
#### Parameters
- **-h, --help**
Including the help flag will display help for the command.
#### Examples
The status command shows changes to be committed. The status command shows
all pending changes, including changes for different types.
Example
```shell
iLOrest > status
Current changes found:
Bios.v1_0_0(/redfish/v1/systems/1/bios/settings/) (Currently selected)
Attributes/ServiceName=simpleservice
ComputerSystem.v1_4_0(/redfish/v1/Systems/1/)
AssetTag=newtag
```
Once changes are committed they no longer show in status.
Example
```shell
iLOrest > status
Current changes found:
Bios.v1_0_0(/redfish/v1/systems/1/bios/settings/) (Currently selected)
Attributes/ServiceName=simpleservice
ComputerSystem.v1_4_0(/redfish/v1/Systems/1/)
AssetTag=newtag
iLOrest > commit
Committing changes...
One or more properties were changed and will not take effect until system is reset.
The operation completed successfully.
iLOrest > status
No changes found
```
### Commit Command
#### Syntax
`commit [Optional Parameters]`
#### Description
Applies all changes made during the current session. After you have changed
one or more values for the property of a type, you need to commit those
changes in order for those changes to be reflected on the server.
#### Usage in Other Commands
To commit at the end of a command, include the *--commit* option. Not all
commands have the `commit` flag, run help on the command to see available
options.
#### Parameters
- **-h, --help**
Including the help flag will display help for the command.
- **--biospassword=BIOSPASSWORD**
Select this flag to input a BIOS password. Include this flag if second-level
BIOS authentication is needed for the command to execute.
NOTE
This option is only used on Gen 9 systems.
- **--reboot=REBOOT**
Use this flag to perform a reboot command function after completion of
operations.
For help with parameters and descriptions regarding the reboot flag,
run `help reboot`.
#### Examples
Commit all pending changes made by set by running the `commit` command.
Example
```shell
iLOrest > select ComputerSystem.
iLOrest > set AssetTag=newtag
iLOrest > select Bios.
iLOrest > set servicename=simpleservice
iLOrest > commit
Committing changes...
One or more properties were changed and will not take effect until system is reset.
The operation completed successfully.
```
If you do not commit before logging out changes will be lost.
NOTE
You must commit changes before logging out or settings will not be updated on
the server.
Example
```shell
iLOrest > select Bios.
iLOrest > get AdminName
AdminName=Chelsea K
iLOrest > set AdminName=newname
iLOrest > get AdminName
AdminName=newname
iLOrest > logout
Logging session out.
iLOrest > get AdminName --select Bios.
Discovering data...Done
AdminName=Chelsea K
```
Commit after running other commands by using the
`--commit` option. This command simultaneously logs in to the server at the
provided URL (`--url`) with the provided username (`-u`, `--user`) and password
(`-p`, `--password`), selects the `ComputerSystem.` type, sets
`AssetTag` to `""`, commits the change, and logs-out.
Example
```shell
iLOrest > set AssetTag="" --url xx.xx.xx.xx -u username -p password --selector ComputerSystem. --commit --logout
Discovering data...Done
Committing changes...
The operation completed successfully.
Logging session out.
```
### Logout Command
#### Syntax
`logout [Optional Parameters]`
#### Description
Use the `logout` command to exit your session and to disconnect from the server.
#### Usage in Other Commands
To log out at the end of a command, include the *--logout* option.
Not all commands have the `logout` flag, run help on the command to see
available options.
#### Parameters
- **-h, --help**
Including the help flag will display help for the command.
#### Examples
Use the logout command to end the session and disconnect from the server.
Example
```shell
iLOrest > login xx.xx.xx.xx -u username -p password
Discovering data...Done
iLOrest > logout
Logging session out.
```
Logout from another command using the `--logout` option.
Example
```shell
iLOrest > get AssetTag --select ComputerSystem. --logout
AssetTag=""
Logging session out.
```
### Exit Command
#### Syntax
`exit [Optional Parameters]`
#### Description
Use the `exit` command if you wish to exit from the interactive shell.
Using exit will also log you out and disconnect you from the server.
#### Parameters
- **-h, --help**
Including the help flag will display help for the command.
#### Examples
This command exits the interactive shell.
Example
```shell
iLOrest > exit
Logging session out.
Bye for now
```