Hello. If you are an IT administrator or an application developer wanting to get started with remotely managing your Dell PowerEdge 11th generation servers through scripting Remote Services, you have come to the right place.

A brief introduction:  Remote Services is a web service interface in iDRAC with Lifecycle Controller that provides Common Information Model (CIM) style data access through the Web Services for Management (WSMAN) protocol.  Manageability through Remote Services is an alternative to iDRAC’s Racadm and browser-based UI.

Although WSMAN is a programming interface, there are command line interface (CLI) tools that can get you started without writing a line of code. In Windows you can use Winrm and Powershell for advanced scripting. And in Linux, you can use the open source Openwsman CLI. An added bonus to Openwsman is that it can be built to run natively on Windows.

Let’s get right into an example – Power Control.

Suppose you get an alert that your server is not responding and that the host operating system is in a bad state. The service it provides is halted. Watchdog is either not present or not working. You are remote and the only option available to you is to physically reboot the server. The longer you wait the more business you lose.  

Fortunately, you still have access to the iDRAC on the server. After connecting to the office remotely, you run the following in a command line (replacing the text in ITALICS with a value appropriate to your network):

C:\> winrm invoke RequestStateChange "http://schemas.dell.com/wbem/wscim/1/cim-schema/2/DCIM_ComputerSystem?CreationClassName=DCIM_ComputerSystem+Name=srv:system"
-r:https://IDRACIPADDRESS -u:USERNAME -p:PASSWORD -encoding:utf-8
-a:basic @{RequestedState="11"}

  Job = null
  ReturnValue = 0

The return value is 0, which means the command is successful. After a few minutes, the host OS is back online and your business continues. What just happened is that you have:

    • Connected remotely in resolving the problem
    • Used a command line tool readily available to Windows (download and build for Linux)
    • Securely communicated to iDRAC Remote Services with SSL encryption
    • And ultimately minimized downtime and loss of business

Brilliant, but is it that simple and in one command? There are a lot of “unknowns”, such as what happens on errors, and how you must monitor the reboot process. Indeed there are more commands, tasks, and logic that make up a complete workflow for the solution. Workflows can be scripted, and in some cases may be complemented with visuals using iDRAC’s remote Virtual Console. Describing the entire workflow in detail is another discussion however.

In case you are new to iDRAC’s Remote Services, there is a fair amount of reading required to understand what is going on in the example above or any example scripts in our wiki - we'll talk about this soon. In particular, reading concepts on CIM, CIM Profiles and WSMAN are helpful. A blog about WSMAN on PowerEdge may help get you started.

The Power Control example is just one of the many ways you can manage your server through Remote Services. Some of your other management actions include:

  • Hardware and firmware inventory
  • BIOS and firmware update
  • Software RAID configuration
  • Automating bare metal and OS deployment
  • Converged Network Adapters (CNA) configuration

A comprehensive list of server management options can be found at the Windows-based WS Interface Guide or the Linux-based WS Interface Guide.

Each sample command in the Interface Guide has a matching script. The collection of these scripts and other example scripts are posted at the Tech Center Scripting Lifecycle Controller wiki. These example scripts are intended to get you started quickly. Check them out and if you run in to problems, found a way to improve/enhance your system, or even come up with a cool new script feel free to post them here or at the wiki. Community contribution is encouraged :-)

Thank you for your time and I hope this blog entry helped you. We are here to listen, so if you have any feedback, comments, or have a topic in mind that you’d like to see addressed, post them here.

Happy Scripting!