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.
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.
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 p42