OpenManage Server
Administrator 1.0
Batch Programming with the
Command Line Interface
Dell OpenManage™
STEP
BY
STEP
By Michael O’Hara (michael_ohara@dell.com)
Jianwen Yin (jianwen_yin@dell.com)
Anil Rao (anil_rao@dell.com)
June 2002
Contents
Introduction ................................................................................................................................. 3
Writing Simple Batch File Commands Under Microsoft®
Windows® 2000 ............................................................................................................................ 4
Setting the Asset Tag under Microsoft Windows .......................................................... 4
Simple reports ...................................................................................................................... 5
Writing Simple Batch File Commands Under Red Hat® Linux® ....................................... 6
Setting the Asset Tag Value under Red Hat Linux........................................................ 6
Simple Reports ..................................................................................................................... 6
Writing Simple Batch File Commands Under Novell® NetWare® .................................... 8
Simple Reports ..................................................................................................................... 8
Configuration from a Batch File .............................................................................................. 9
Writing Windows 2000 Shell Scripts ................................................................................ 9
Collecting output in XML format ..................................................................................................... 9
Writing Red Hat Linux Shell Scripts.............................................................................. 10
Configuration from a shell script file under Red Hat Linux ...................................................... 10
Collecting output in XML format under Red Hat Linux ............................................................ 11
How to Get a Batch File or Script File to the Machine ................................................ 11
How to Schedule a Task on the Target Machine ......................................................... 12
How to Get the Result Back ............................................................................................. 12
Conclusion ................................................................................................................................. 13
June 2002
Page 2
Dell Enterprise Systems Group
Section
1
Introduction
This Step-By-Step white paper describes a number of Dell OpenManage™ Server
Administrator Command Line Interface (CLI) programming techniques in detail.
This information is designed primarily for server system administrators. Some
batch file examples are provided.
The Dell OpenManage Server Administrator v1.0 product contains two methods
to change or display systems management variables on a single computer, by an
easy-to-use Web-based interface, or by an easy-to-use CLI.
The CLI uses words to request reports, set systems management information,
change bios settings, update bios or firmware etc. Basically, any systems
management configuration that can be changed using the Web-based interface
can also be changed using the command line interface. The command line
interface can be used from the systems console of the managed server. It can also
be used through remote console software, such as Microsoft Systems
Management Server, or Computer Associates ShipIT, to run a batch file remotely.
June 2002
Page 3
Dell Enterprise Systems Group
Section
2
Writing Simple Batch File Commands Under
Microsoft® Windows® 2000
The CLI is designed to be OS independent. For example, instead of using the
built in DOS file redirection output capability, the CLI uses a built in file
redirection capability. However, some aspects of the batch files below are OS
dependent, such as conditional execution. The examples below run under
Microsoft Windows 2000.
Setting the Asset Tag under Microsoft Windows
The assettag is a customer assignable text field that can be used to identify your
computer. This example shows how to set it with a batch file. It is called with one
parameter, the asset tag value.
For example, if this file is saved to asset.bat, it could be called by:
a) asset mysystem
b) asset thisassettagistoolong
example b) will produce an error
@echo off
REM Example OpenManage Server Administrator batch file - Set the Asset Tag
REM
REM set the asset tag as assettag and output to a file named omtemp.txt
REM one parameter expected, the asset tag value
omconfig chassis info index=0 tag=%1 -outc omtemp.txt
REM
find "Error!" omtemp.txt
if %errorlevel% EQU 0 goto setfailure
goto setsuccessful
:setfailure
echo omconfig cannot set value !
goto done
:setsuccessful
echo omconfig set successfully !
:done
pause
@echo on
June 2002
Page 4
Dell Enterprise Systems Group
Alternatively, it is an option to choose to use the return value from the
commands: omreport, omconfig, omdiag and omupdate in order to make
errorlevel checks. This is defined as a return value of 0 for successful execution.
Simple reports
OpenManage Server Administrator allows for the generation of reports on just
about any aspect of a server’s state or settings using the CLI omreport command.
The following batch file generates some simple text reports and writes the output
to a single text file:
@echo off
REM Example OpenManage Server Administrator batch file
REM The name of the output text file is passed to this batch file as a parameter
REM
REM Write system summary information to a new file
omreport system summary -outc %1
REM
REM Now lets get health summary and append it
omreport chassis -outa %1
REM
REM append asset information
omreport system assetinfo -outa %1
REM
REM append probe information
omreport chassis currents -outa %1
omreport chassis fans -outa %1
omreport chassis temps -outa %1
omreport chassis volts -outa %1
If the above batch file was saved as report.bat, then it could be invoked by typing
“report report.txt” . The text file report.txt would be written to the current
directory of the server and will contain the requested reports concatenated
together.
June 2002
Page 5
Dell Enterprise Systems Group
Section
3
Writing Simple Batch File Commands Under
Red Hat® Linux®
Examples of batch files that are OS dependent for Red Hat Linux are shown in
this section.
Setting the Asset Tag Value under Red Hat Linux
This example sets the asset tag value. It is called with one parameter, the asset
tag value.
Example, if this file is saved to asset.sh, it could be called by:
a) ./asset.sh mysystem
b) ./asset.sh thisassettagistoolong
example b) will produce an error
#!/bin/sh
# Example OpenManage Server Administrator shell script file - Set the Asset
Tag
#
# set the asset tag as assettag and output to a file named omtemp.txt
# one parameter expected, the asset tag value
omconfig chassis info index=0 tag=$1 -outc omtemp.txt
#
grep Error omtemp.txt
if [ $? = 0 ];
then
echo omconfig cannot set value !
else
echo omconfig set successfully
fi
Alternatively you can choose to use the return value from the commands:
omreport, omconfig, omdiag and omupdate in order to make $? checks. This is
defined as a return value of 0 for successful execution.
Simple Reports
The following batch file generates some simple text reports and writes the output
to a shell script file.
June 2002
Page 6
Dell Enterprise Systems Group
#!/bin/sh
# Example OpenManage Server Administrator batch file
# The name of the output text file is passed to this batch file as a parameter
#
# Write system summary information to a new file
omreport system summary -outc $1
#
# Now lets get health summary and append it
omreport chassis –outa $1
#
# append asset information
omreport system assetinfo -outa $1
#
# append probe information
omreport chassis currents -outa $1
omreport chassis fans -outa $1
omreport chassis temps -outa $1
omreport chassis volts -outa $1
If the above shell script file was saved as report.sh, after changing its mode to
executable (chmod a+x report.sh), then it could be invoked by typing “report.sh
report.txt”. The text file report.txt is written to the current directory of the server
and contains the requested reports concatenated together.
June 2002
Page 7
Dell Enterprise Systems Group
Section
4
Writing Simple Batch File Commands Under
Novell® NetWare®
Under Novell NetWare, files with extension .ncf can be used for batch files. For
example the simple report can be written as shown below.
Simple Reports
The following batch file generates some simple text reports and writes the output
to a batch file. (Instead of using command line parameters, give the file name
directly.)
# Example OpenManage Server Administrator batch file
# The name of the output text file is passed to this batch file as a parameter
#
# Write system summary information to a new file
omreport system summary -outc report.txt
#
# Now lets get health summary and append it
omreport chassis –outa report.txt
#
# append asset information
omreport system assetinfo -outa report.txt
#
# append probe information
omreport chassis currents -outa report.txt
omreport chassis fans -outa report.txt
omreport chassis temps -outa report.txt
omreport chassis volts -outa report.txt
If the above shell script file was saved as report.ncf.
After those batch files or shell script files are created, you can ftp them to each
machine, and run them on each machine. Under Microsoft Windows, if SMS
(System Management Server) has been installed, you can packet those files,
distribute them and schedule them on each SMS client through SMS. OMSA CLI
provides the flexibility for you to use batch or script to automatic those
commands, and it is your choice what kind of tool you like to use.
June 2002
Page 8
Dell Enterprise Systems Group
Section
5
Configuration from a Batch File
Writing Windows 2000 Shell Scripts
The CLI command omconfig allows a user to change settings on a server. This
example shows haw to change some BIOS settings and some probe warning
thresholds:
@echo off
REM Example OpenManage Server Administrator batch file - omconfig
REM The name of the output text file is passed to this batch file as a parameter
REM
REM on boot, set numlock to off, set speaker to off, bootsequence to hard drive
only
omconfig chassis biossetup attribute=numlock setting=off -outc %1
omconfig chassis biossetup attribute=speaker setting=off -outa %1
omconfig chassis biossetup attribute=bootsequence setting=hdonly -outa %1
REM
REM Set some probe warning thresholds to tighter values.
REM Note probes are identified by index number. In this example,
REM these settings are specific to a Dell PowerEdge 2400
omconfig chassis fans index=0 minwarnthresh=1000 maxwarnthresh=5000 -outa
%1
omconfig chassis fans index=0 minwarnthresh=1000 maxwarnthresh=5000 -outa
%1
REM
REM make the server as quiet as possible
omconfig chassis fancontrol speed=quiet
If the above batch file was saved as config.bat, then it could be invoked by typing
“config conf.txt” . The text file config.txt would be written to the current
directory of the server and will contain the results of the configuration.
Collecting output in XML format
Reports may be generated in table format, plain text, semicolon separated values,
or XML.
If XML format output is desired, then it is recommended to write the ouput of
each report to a separate file. This is because each XML format report is well
June 2002
Page 9
Dell Enterprise Systems Group
formatted XML. However, the action of concatenating two or more reports
together will result in malformed XML.
Example
@echo off
REM Example OpenManage Server Administrator batch file - XML format
reports
REM
REM Write system summary information to a new file
omreport system summary –outc summary.xml –fmt xml
REM
REM Now lets get health summary
omreport chassis -outc health.xml –fmt xml
REM
REM append asset information
omreport system assetinfo –outc assetinfo.xml –fmt xml
REM
REM append probe information
omreport chassis currents -outc currents.xml –fmt xml
omreport chassis fans -outc fans.xml –fmt xml
omreport chassis temps -outc temps.xml –fmt xml
omreport chassis volts -outc volts.xml –fmt xml
Writing Red Hat Linux Shell Scripts
The examples below run under Red Hat Linux. It is the counterpart of above
introduced examples in Red Hat Linux Shell script.
Configuration from a shell script file under Red Hat Linux
#!/bin/sh
# Example OpenManage Server Administrator batch file - omconfig
# The name of the output text file is passed to this batch file as a parameter
#
# on boot, set numlock to off, set speaker to off, bootsequence to hard drive only
omconfig chassis biossetup attribute=numlock setting=off -outc &1
omconfig chassis biossetup attribute=speaker setting=off -outa &1
omconfig chassis biossetup attribute=bootsequence setting=hdonly -outa &1
#
# Set some probe warning thresholds to tighter values.
# Note probes are identified by index number. In this example,
# these settings are specific to a Dell PowerEdge 2400
omconfig chassis fans index=0 minwarnthresh=1000 maxwarnthresh=5000 -outa
&1
omconfig chassis fans index=0 minwarnthresh=1000 maxwarnthresh=5000 -outa
&1
#
June 2002
Page 10
Dell Enterprise Systems Group
# make the server as quiet as possible
omconfig chassis fancontrol speed=quiet
# -outa &1 &2
If the above shell script file was saved as config.sh, after changing its mode to
executable (chmod a+x config.sh), then it could be invoked by typing “config.sh
conf.txt”. The text file config.txt would be written to the current directory of the
server and will contain the results of the configuration.
Collecting output in XML format under Red Hat Linux
Reports may be generated in table format, plain text, semicolon separated values,
or XML.
If XML format output is desired, then it is recommended to write the ouput of
each report to a separate file. This is because each XML format report is well
formatted XML. However, the action of concatenating two or more reports
together will result in malformed XML.
Example
#!/bin/sh
# Example OpenManage Server Administrator batch file - XML format reports
# The name of the output text file is passed to this batch file as a parameter
#
# Write system summary information to a new file
omreport system summary –outc summary.xml –fmt xml
#
# Now lets get health summary
omreport chassis -outc health.xml –fmt xml
#
# append asset information
omreport system assetinfo –outc assetinfo.xml –fmt xml
#
# append probe information
omreport chassis currents -outc currents.xml –fmt xml
omreport chassis fans -outc fans.xml –fmt xml
omreport chassis temps -outc temps.xml –fmt xml
omreport chassis volts -outc volts.xml –fmt xml
How to Get a Batch File or Script File to the Machine
1.
2.
June 2002
ftp, if the ftp server is setup for Microsoft Windows or ftp is enabled under Red
Hat Linux, you can ftp the batch files or script files to the target machine;
Through the following batch file under Microsoft Windows:
Let us assume that the batch file named repgen.bat is under a shared directory
“test” on machine “testmachine” under domain “testdoamin”:
@echo off
REM Delete the mapping of driver j:
net use j: /d
REM Mapping the driver j: to the testmachine
Page 11
Dell Enterprise Systems Group
net use j:\\testmachine\test /user:testdomain\username password /per:no
REM copy the repgen.bat file to the current directory
copy j:\repgen.bat .
REM Delete the mapping of driver j:
Net use j:/d
How to Schedule a Task on the Target Machine
1.
2.
at for Red Hat Linux:
if you want to run the command at 6:00pm tomorrow, you can write:
at 6:00pm tomorrow –f genrep.sh
if you want to run the command at 6:00pm everyday, you can write:
at 6:00pm –f genrep.sh
scheduler for Microsoft Windows
under StartSettingsControl PanelScheduled TasksAdded Schedule Task
doubled click it, you will get a wizard to schedule the task as you want.
How to Get the Result Back
1.
2.
ftp, similarly if the ftp server is setup for Microsoft Windows or ftp is enabled
under Red Hat Linux, you can ftp the testing result from the target machine;
Through the following batch file under Microsoft Windows:
Let us assume that the report file named report.txt is under the current directory,
and you want to copy it to a shared directory “test” on machine “testmachine”
under domain “testdoamin”:
@echo off
REM Delete the mapping of driver j:
net use j: /d
REM Mapping the driver j: to the testmachine
net use j:\\testmachine\test /user:testdomain\username password /per:no
REM copy the repgen.bat file to the current directory
copy report.txt j:\
erase report.txt
REM Delete the mapping of driver j:
Net use j:/d
You can schedule a task to run this task everyday after giving even time to
generate the report.
June 2002
Page 12
Dell Enterprise Systems Group
Section
6
Conclusion
Dell OpenManage Server Administrator provides a Command Line Interface for
environments in which system administrators perform most tasks using scripts,
which run on groups of servers. The examples provided in this paper are some
typical examples to use to write batch or shell scripts through CLI, schedule the
tasks on each server and get reports back regularly. It is possible to make full use
of the flexibility provided by CLI by extending the examples presented in this
paper through whatever tools users choose within their systems for batch or shell
scripts.
THIS WHITE PAPER 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.
Dell and PowerEdge are trademarks of Dell Computer Corporation. Microsoft and Windows are registered trademarks of
Microsoft Corporation. Red Hat is a registered trademark of Red Hat, Inc. Linux is a registered trademark of Linus
Torvalds. Novell and NetWare are registered trademarks of Novell Corporation. Other trademarks and trade names may
be used in this document to refer to either the entities claiming the marks and names or their products. Dell disclaims
proprietary interest in the marks and names of others.
©Copyright 2002 Dell Computer Corporation. All rights reserved. Reproduction in any manner whatsoever without the
express written permission of Dell Computer Corporation is strictly forbidden. For more information, contact Dell.
Information in this document is subject to change without notice.
June 2002
Page 13
Dell Enterprise Systems Group