Dell Lifecycle Controller 1.2 for Windows, Lifecycle Controller 1.3 for Windows, Lifecycle Controller 1.4 for Windows, Lifecycle Controller 1.5 for Windows, Lifecycle Controller 1.5.5 for Windows Web Services Interface Guide
Dell Lifecycle Controller 1.2 for Windows, Lifecycle Controller 1.3 for Windows, Lifecycle Controller 1.4 for Windows, Lifecycle Controller 1.5 for Windows, Lifecycle Controller 1.5.5 for Windows, Lifecycle Controller 1.6 for Windows, Lifecycle Controller 2 Web Services Interface Guide
Specifications and Main Features
Frequently Asked Questions
User Manual
Steven Zessin
December 18, 2012
Version 2.1.0
Dell™ Lifecycle Controller 2 Web
Services Interface Guide for Windows
Document Status: Published
Dell™ Lifecycle Controller 2 Web Services Interface Guide for WindowsVersion: 2.1.0
This document is for informational purposes only and may contain typographical errors and
technical inaccuracies. The content is provided as is, without express or implied warranties of any
kind.
23.1 Listing the FC Inventory-Attribute Class .................................................................. 219
23.2 Listing the FC Inventory-Statistics Class ................................................................. 220
23.3 Listing the FC Inventory-String Class ................................................................ ...... 221
23.4 Listing the FC Inventory-Integer Class ................................ .................................... 222
23.5 Listing the FC Inventory-Enumeration Class ........................................................... 222
23.6 Changing the FC Attributes-SetAttribute() ............................................................... 223
23.7 Applying the Pending Values for FC-CreateTargetedConfigJob() ........................... 223
23.8 Deleting the Pending Values for FC-DeletePendingConfiguration() ........................ 225
23.9 Listing the FC Views ............................................................................................... 225
9
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
1 Introduction
This document serves as a guideline for utilizing the functionality available from embedded Lifecycle
Controller Remote Enablement Web Services interfaces. The purpose of this document is to provide
information and examples for utilizing the Web services for Management (WS-Man) management
protocol using Windows WinRM and open source WSMANCLI command line utilities. Examples and
invocation information is provided for the following functionality.
Inventory for BIOS, component firmware and embedded software
Update of BIOS, component firmware and embedded software
Job Control of update tasks
Enhancement of Operating System Deployment using VFlash SD Card
Enhancement of Discovery and Handshake from LifeCycle Controller 1.x
Raid configuration management
iDRAC Inventory and configuration features
NIC configuration management
Boot configuration management
BIOS configuration management
The target audience for this document is application and script writers that want to utilize the remote
management capabilities using WS-Man protocol available from Dell Lifecycle Controller.
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
7
List of PCI IDs:
http://pciids.sourceforge.net/pci.ids
11
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
3 Overview
The remote interface guidelines provided in this document are illustrated by command line examples
of the WS-MAN protocol Web services APIs that expose the remote management capabilities of the Dell
Lifecycle Controller. The command line examples are from the Microsoft® Windows® and Linux
environments using WinRM4 and WSMANCLI5 respectively. The Lifecycle Controller remote management
capabilities are organized by management domain and documented in Dell CIM Profile specifications2.
The remote enablement feature for Lifecycle Controller 2.0 provides the following capabilities:
Remotely get inventory of the BIOS, component firmware, and embedded software including
version information of both the installed as well as available cached versions
power supplies from remotely located Dell Update Packages or cached images located in the
Lifecycle Controller
Remotely schedule and track the status of update tasks (jobs)
Remotely manage the Part Replacement feature by allowing retrieving and setting auto update
and auto system inventory sync
Enable re-initiation of Lifecycle Controller Auto-Discovery feature
Enhancement of Operation System Deployment capabilities by supporting the downloading of
an ISO image to a Dell VFlash SD Card and booting to the ISO image on the VFlash SD Card
NIC configuration enables the ability to get and set NIC attributes that are configurable using
NIC Option ROM or NIC UEFI HII.
Remote RAID configuration allows users to remotely query and configure the Hardware Raid of
the system
Multiple HW Inventory views allows users to remote query the inventory of Hardware
3.1 Format for WinRM CLI Examples in Document
The examples of WinRM and WSMANCLI command line invocations in this document are formatted for
readability and often span multiple lines in the document. In actual use, scripted or hand-typed
invocations are contained on one line. The examples also use substitute values for the target iDRAC IP
address, username (with ExecuteServerCommand privilege), password and other site specific
information. Actual use of these examples would require using values for IP Address, username and
password, etc. that are valid. These values are represented in the examples as follows:
Target iDRAC IP address = [IPADDRESS]
iDRAC Username = [USER]
iDRAC Password = [PASSWORD]
Additional substitute values are used in some of the examples and are described in the specific
example.
12
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
The following example is typical of the formatting used in this document:
EXAMPLE:
winrm e cimv2/root/dcim/DCIM_OSDeploymentService
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-encoding:utf-8 -a:basic
3.2 WS-Man Security & Time Parameters
3.2.1 Encryption Certificate Security
For the WinRM examples provided in this document, the strict checks of certificates such as matching
of CNs (Common Names) and verification with the actual CA (Certificate Authority) of the certificate of
the WS-Management protocol HTTPS encryption certificate is assumed to be already configured and
enabled. To disable the strict certificate checking, add the following command line options to all
WinRM examples: –skipCACheck and –skipCNCHeck.
Additionally, the following error may result if the end point does not support this feature. Use the
switch -skiprevocationcheck to bypass this error.
WSManFault
Message = The server certificate on the destination computer (10.35.0.232:443) has the following
errors:
The SSL certificate could not be checked for revocation. The server used to check for revocation might
be unreachable.
Refer to the WinRM documentation4 and related documentation for directions on setting up encryption
certificates for WinRM and executing WinRM invocations using full security capabilities. Refer to the
Lifecycle Controller User Guide1 for directions on configuring different encryption certificates for the
iDRAC Web server. Dell recommends that the full security and encryption capabilities of the WSManagement protocol is used for production level utilization of the Lifecycle Controller Web services
interfaces.
3.2.2 Handling invalid responses from WSMAN commands
Check the network connection to make sure that the system is connected
Check the WSMAN syntax to ensure there are no typos in the command line
Check if there are other WSMAN commands sending from other systems
Wait for a few seconds and re-try the WSMAN command
13
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
3.2.3 Improving WinRM Enumeration Performance
When an enumeration command is executed, the default WinRM configuration gets only 20 instances at
a time and therefore slows down the system drastically. Changing the WinRM configuration to allow a
greater number, such as 50, will reduce the time taken by the enumeration operations.
Execute the following command to get instances in groups of up to 50.
winrm set winrm/config @{MaxBatchItems="50"}
Additionally, increasing the allotted maximum envelope size and timeout can also increase
performance.
winrm set winrm/config @{MaxEnvelopeSizekb="150"}
winrm set winrm/config @{MaxTimeoutms ="60000"}
Other optional WinRM configuration commands are listed below for convenience. To get the current
WinRM configuration settings, execute the following command.
winrm g winrm/config
By default, the client computer requires encrypted network traffic. To allow the client computer to
request unencrypted traffic, execute the following command:
winrm s winrm/config/Client @{AllowUnencrypted="true"}
TrustedHosts is an array that specifies the list of remote computers that are trusted. Other computers
in a workgroup or computers in a different domain should be added to this list.
Note: The computers in the TrustedHosts list are not authenticated.
Execute the following command to allow all computers to be included in TrustedHosts.
winrm s winrm/config/Client @{TrustedHosts="*"}
Basic authentication is a scheme in which the user name and password are sent in clear text to the
server or proxy. This method is the least secure method of authentication. The default is True.
Execute the following command to set client computer to use Basic authentication.
winrm s winrm/config/Client/Auth @{Basic="true"}
3.2.4 Specifying StartTime, Until Time, and TIME_NOW Parameters
The several methods that attach a virtual USB device to the target system accept a StartTime and Until
parameter. The parameter data type is CIM date-time. If the StartTime parameter is null the action
will not be started. If the Until parameter is null, the default value will be 17 hours. The date-time
data type is defined in the CIM Infrastructure Specification4 as:
ddddddddhhmmss.mmmmmm
Where:
14
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
Term
Meaning
BIOS
Basic Input / Output System
HW
Hardware
iDRAC
Integrated DELL Remote Access Controller
IPL
Initial Program Load
DUP
Dell Update Package
MOF
Managed Object File
CIM
Common Information Model
NIC
Network Interface Controller
RAID
Redundant Array of Independent Disks
FQDD
Fully Qualified Device Description
UEFI
Unified Extensible Firmware Interface
AMEA
Advanced Management Enablement Adapter
HII
Human Interface Infrastructure
WSMAN
WS-Management is a specification of a SOAP-based protocol for the
management of servers, devices, applications and more
• dddddddd is the number of days
• hh is the remaining number of hours
• mm is the remaining number of minutes
• ss is the remaining number of seconds
• mmmmmm is the remaining number of microseconds
The Lifecycle controller firmware update, and set attribute related methods that require a date time
parameter, use the form YYYYMMDDhhmmss (Eg. 20090930112030). The user is expected to enter the
date and time in this format for all Lifecycle Controller updates and set attribute tasks. TIME_NOW is a
special value that represents “running the tasks immediately”.
3.2.5 Return Values
Many of the methods in this document have the following possible return values. They are summarized
here for convenience.
0 = Success
1 = Not Supported
2 = Failed
4096 = Job Created
3.2.6 Glossary
15
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
4 Discovery
4.1 Discovering Web Service Capability
Determine if the target system supports the WinRM interface using the ‘identify’ command.
The above example shows that the DMTF Base Server profile version 1.0.0 is implemented.
4.3 Discovering Implementation Namespace
The implementation CIM namespace may be discovered from the interop (root/interop) CIM namespace
using the class CIM_ElementConformsToProfile that associates an instance of CIM_RegisteredProfile
class with an instance of CIM_ComputerSystem class.
Profiles: n/a
EXAMPLE:
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/* -dialect:association -associations filter:
{object=DCIM_ComputerSystem?CreationClassName=DCIM_ComputerSystem+Name=srv:system+__cimna
mespace=root/dcim}
5.1 Description of iDRAC Attributes vs Standard DMTF Model
The iDRAC user account management data model is represented by both DMTF and Dell Profiles. Both
models are currently offered. The DMTF Profiles for Simple Identity Management and Role Based
Authorization represent iDRAC user accounts and privileges. The DMTF data model is complex and
typically requires multiple transactions to accomplish simple operations such as specifying a username
and password or giving a user account admin privileges. For this reason, LC also offers a Dell data
model for managing iDRAC user accounts that is based on an attribute model. The DCIM iDRAC Card
Profile specifies the attributes for each user account name, password, and privilege. The iDRAC has 15
local user account that can be managed.
5.2 Account Inventory (using iDRAC Attributes)
The list of user accounts may be retrieved by enumerating the DCIM_iDRACCard classes. The class
provides the user account name and enabled state properties.
5.2.1 Account and Capabilities (using iDRAC Attributes)
Enumerating the DCIM_iDRACCardEnumeration class, Section 19.1, and parsing the output for the
attribute AttributeDisplayName = User Admin Enable, will display all of the 16 possible user accounts
and their respective status.
EXAMPLE:
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/root/dcim/DCIM_iDRACCardEnumeration
-u:[USER] -p:[PASSWORD]
18
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
5.2.2 Privilege and Capabilities (using iDRAC Attributes)
Enumerating the DCIM_iDRACCardEnumeration class, Section 19.1, and parsing the output for the
attribute AttributeDisplayName = User Admin IPMI LAN(or Serial) Privilege, will display all of the 16
possible user accounts and their respective status.
When the account setting capability allows, the user name of an account may be modified by invoking
the ApplyAttributes() method on the UserName property. Confirmation of successful user name or
password verification can be obtained by enumerating the DCIM_iDRACCardString class(Section 19.6).
5.3.1 Modify User Name (using iDRAC Attributes)
EXAMPLE:
winrm i ApplyAttributes http://schemas.dmtf.org/wbem/wscim/1/cim-
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
5.3.3 Modify Account State (using iDRAC Attributes)
When the account setting capability allows, the user account may be enabled or disabled by invoking
the method ApplyAttributes() method on the Enable property. Confirmation of the change can be
obtained by enumerating the DCIM_iDRACCardString class(Section 19.6).
EXAMPLE:
winrm i ApplyAttributes http://schemas.dmtf.org/wbem/wscim/1/cim-
The following error may result if the password has not initially been set to a value. The password may
be set an initail value at the same time as the account is enabled by adding the Users.4#Password
attribute name and corresponding attribute value, as shown above.
ApplyAttributes_OUTPUT
Message = The User Password is not configured so cannot Enable the User or set values for IPMILan
IPMISerial or User Admin Privilege
MessageArguments = NULL
MessageID = RAC023
ReturnValue = 2
22
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
5.3.4 Modify User Privilege (using iDRAC Attributes)
When the account setting capability allows, the user privileges may be enabled or disabled by invoking
the method ApplyAttributes() method on the Enable property. Confirmation of the change can be
obtained by enumerating the DCIM_iDRACCardString class(Section 19.6).
EXAMPLE:
winrm i ApplyAttributes http://schemas.dmtf.org/wbem/wscim/1/cim-
The list of user accounts may be retrieved by enumerating the CIM_Account class. The class provides
the user account name and EnabledState properties. The user account password is also included but it
is a write-only property.
Account setting capability is defined in the class CIM_AccountManagementCapabilities associated with
the CIM_Account class instance. The ability to enable and disable an account is defined in the
capability class CIM_EnabledLogicalElementCapabilities associated with the CIM_Account class.
To determine account setting capabilities:
1. Get the CIM_Account class instance of interest using EnumerateEPR mode.
2. Enumerate the associators of the CIM_Account instance and search for
CIM_AccountManagementService class instance using EnumerateEPR mode.
3. Enumerate the associators of the CIM_AccountManagementService instance and search for
CIM_AccountManagementCapabilities class instance.
4. One exception is account index 0. The first account is static and could not be set.
5.4.2 Privilege and Capabilities (using DMTF Model)
The account privilege assigned to a user is defined in the class CIM_Privilege associated with the
CIM_Account class. The class contains a list of privileges granted to the user account.
To get the instance of CIM_Privilege for an account:
1. Get the CIM_Account class instance of interest using EnumerateEPR mode.
2. Enumerate the associators of the CIM_Account instance and search for CIM_Identity class
instance using EnumerateEPR mode.
3. Enumerate the associators of the CIM_Identity instance and search for CIM_Role class instance
using EnumerateEPR mode.
4. Enumerate the associators of the CIM_Role instance and search for CIM_Privilege class instance.
An alternative to the above method, you can retrieve the specific CIM_Privilege instance by
enumerating the class directly with filter. This method is similar to the example used to retrieve
CIM_Account.
EXAMPLE:
26
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/DCIM_LocalRolePrivilege
Privilege setting capability is defined in the class CIM_RoleBasedManagementCapabilities associated
with the CIM_Privilege class instance. This class contains the list of possible values used to assign
privileges. Look for the property ActivityQualifiersSupported.
To determine privilege setting capabilities:
1. Acquire the class instance of CIM_Privilege of interest.
2. Enumerate the associators of the CIM_Privilege instance and search for
CIM_RoleBasedAuthorizationService class instance using EnumerateEPR mode.
27
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
3. Enumerate the associators of the CIM_RoleBasedAuthorizationService instance and search for
CIM_RoleBasedManagementCapabilities class instance using EnumerateEPR mode.
OUTPUT:
DCIM_LocalRoleBasedManagementCapabilities
ActivitiesSupported = 7, 7, 7, 7, 7, 7, 7, 7, 7
ActivityQualifiersSupported = Login to DRAC, Configure DRAC, Configure Users, Clear Logs, Execute
Server Control Commands, Access Console Redirection, Access Virtual Media, Test Alerts, Execute Di
agnostic Commands
ElementName = Local Role Based Management Capabilities
InstanceID = DCIM:LocalRoleBasedManagementCapabilities
QualifierFormatsSupported = 9, 9, 9, 9, 9, 9, 9, 9, 9
SharedPrivilegeSupported = false
SupportedMethods = 8
When the account setting capability allows, the user name of an account may be modified by issuing a
set operation on the UserID property of the CIM_Account class instance. The set operation requires an
instance reference. The instance reference may be retrieved by adding EnumerateEPR mode to
enumerate or get of the class.
When this command is executed, the UserID will be displayed in the output. The UserPassword will be
displayed as null when the account is disabled. After the account is enabled, it will be displayed as
blank. The value of UserPassword will never be displayed.