10. WBEM utility commands
The pywbem package provides a number of WBEM utility commands. They are all implemented as pure-Python scripts.
These commands are installed into the Python script directory and should therefore automatically be available in the command search path.
..index:: pair; MOF, compiler ..index:: single; MOF compiler
The following commands are provided:
-
A MOF compiler that takes MOF files as input and updates the CIM repository of a WBEM server with the result.
Versions of pywbem before 1.0.0 provided a command wbemcli
as an
interactive command line environment. It is recommended to use the
pywbemcli
command from the
pywbemtools package on Pypi
as a replacement.
10.1. mof_compiler
The mof_compiler
command compiles MOF files and updates the CIM repository
of a WBEM server with the result.
If the compiler fails, any changes made to the CIM repository in the WBEM server as part of the current compilation are rolled back. A limitation is that changes to qualifier declarations are not yet rolled back (see issue #990).
The compiler provides a dry-run mode that simulates the compilation but does not change the CIM repository in the WBEM server.
Here is the help text of the command:
usage: mof_compiler [options] moffile ...
Compile MOF files, and update a namespace in a WBEM server with the result.
Positional arguments:
moffile Path name of the MOF file to be compiled.
Can be specified multiple times.
Server related options:
Specify the WBEM server and namespace the MOF compiler works against.
-s url, --server url Host name or URL of the WBEM server (required),
in this format:
[scheme://]host[:port]
- scheme: Defines the protocol to use:
- "https" for HTTPS protocol
- "http" for HTTP protocol
Default: "https".
- host: Defines host name as follows:
- short or fully qualified DNS hostname
- literal IPV4 address(dotted)
- literal IPV6 address (RFC 3986) with zone
identifier extensions(RFC 6874)
supporting "-" or %25 for the delimiter
- port: Defines the WBEM server port to be used.
Defaults:
- 5988, when using HTTP
- 5989, whenusing HTTPS
-n namespace, --namespace namespace
Namespace in the WBEM server.
Default: root/cimv2
Connection security related options:
Specify user name and password or certificates and keys.
-u user, --user user User name for authenticating with the WBEM server.
Default: No user name.
-p password, --password password
Password for authenticating with the WBEM server.
Default: Will be prompted for, if user name specified.
-nvc, --no-verify-cert
Client will not verify certificate returned by the WBEM
server (see cacerts). This bypasses the client-side
verification of the server identity, but allows encrypted
communication with a server for which the client does not have
certificates.
--cacerts cacerts CA certificates to be used for verifying the server
certificate presented by the WBEM server during TLS/SSL
handshake:
FILE: Use the certs in the specified cert file;
DIR: Use the certs in the specified cert directory.
Default: Use certs from the certifi Python package.
--certfile certfile Client certificate file for authenticating with the
WBEM server. If option specified the client attempts
to execute mutual authentication.
Default: Simple authentication.
--keyfile keyfile Client private key file for authenticating with the
WBEM server. Not required if private key is part of the
certfile option. Not allowed if no certfile option.
Default: No client key file. Client private key should
then be part of the certfile.
Action related options:
Specify actions against the WBEM server's namespace.
-r, --remove Removal mode: Remove elements (found in the MOF files) from
the WBEM server's namespace, instead of creating or updating
them.
-d, --dry-run Dry-run mode: Don't actually modify the WBEM server's
namespace, just check MOF syntax. Connection to WBEM server is
still required to check qualifiers.
General options:
-I dir, --include dir
Path name of a MOF include directory. Can be specified
multiple times.
-v, --verbose Print more messages while processing
-V, --version Display pywbem version and exit.
-h, --help Show this help message and exit
--log log_spec[,logspec]
Log_spec defines characteristics of the various named
loggers. It is the form:
COMP=[DEST[:DETAIL]] where:
COMP: Logger component name:[api|http|all].
(Default=all)
DEST: Destination for component:[file|stderr|off].
(Default=file)
DETAIL: Detail Level to log: [all|paths|summary] or
an integer that defines the maximum length of
of each log record.
(Default=all)
Example: mof_compiler CIM_Schema_2.45.mof -s https://localhost -n root/cimv2
-u sheldon -p 42