Before you can enumerate classes, invoke methods, or examine properties of the managed server, you must create a connection object in your client. The connection object manages the connection with the CIM server, accepts CIM methods by proxy, and passes them to the CIM server. The following pseudocode illustrates how to create a connection by using command-line parameters passed to the client.
To make a connection to the CIMOM
Procedure
- Collect the connection parameters from the environment.
use os
function parse_environment()
///Check if all parameters are set in the shell environment.///
VI_SERVER = VI_USERNAME = VI_PASSWORD = VI_NAMESPACE=Null
///Any missing environment variable is cause to revert to command-line arguments.///
try
return { 'VI_SERVER':os.environ['VI_SERVER'], \
'VI_USERNAME':os.environ['VI_USERNAME'], \
'VI_PASSWORD':os.environ['VI_PASSWORD'], \
'VI_NAMESPACE':os.environ['VI_NAMESPACE'] }
catch
return Null
use sys
function get_params()
///Check if parameters are passed on the command line.///
param_host = param_user = param_password = param_namespace = Null
if len( sys.argv ) == 5
print 'Connect using command-line parameters.'
param_host, param_user, param_password, param_namespace = sys.argv [ 1:5 ]
return { 'host':param_host, \
'user':param_user, \
'password':param_password, \
'namespace':param_namespace }
env = parse_environment()
if env
print 'Connect using environment variables.'
return { 'host':env['VI_SERVER'], \
'user':env['VI_USERNAME'], \
'password':env['VI_PASSWORD'], \
'namespace':env['VI_NAMESPACE'] }
else
print 'Usage: ' + sys.argv[0] + ' <host> <user> <password> [<namespace>]'
print ' or set environment variables: VI_SERVER, VI_USERNAME, VI_NAMESPACE'
return Null
params = get_params()
if params is Null
exit(-1)
- Create the connection object in the client.
use wbemlib
connection = Null
function connect_to_host( params )
///Connect to the server.///
connection = wbemlib.WBEMConnection( 'https://' + params['host'], \
( params['user'], params['password'] ), \
params['namespace'] )
return connection
if connect_to_host( params )
print 'Connected to: ' + params['host'] + ' as user: ' + params['user']
else
print 'Failed to connect to: ' + params['host'] + ' as user: ' + params['user']
With some client libraries, creating a connection object in the client does not send a request to the CIMOM. A request is not sent until a method is called. To verify that such a client can connect to and authenticate with the server, see another use case, such as Listing Registered Profiles in the CIM Implementation.