You can use connection options that are available for all ESXCLI host management commands.

The following table lists options that are available for all ESXCLI host management commands in alphabetical order. The table includes options for use on the command line and variables for use in configuration files.

Important: ESXCLI supports both IPv4 and IPv6 connections.

See Run Host Management Commands from a Windows System and Run Host Management Commands from a Linux System.

Option and Environment Variable Description

--cacertsfile <certsfile>

-t <certs_file>

VI_CACERTFILE=<cert_file_path>

Specifies the CA (Certificate Authority) certificate file, in PEM format, to verify the identity of the vCenter Server system or ESXi system to run the command on.

You can only run ESXCLI commands if a trust relationship exists between the host you are running the command on and the system you are targeting with the --server option (ESXi host or vCenter Server system). You can establish the trust relationship by specifying the CA certificate file or by passing in the thumbprint for each target server (ESXi host or vCenter Server system).

--config <cfg_file_full_path>

VI_CONFIG=<cfg_file_full_path>

Uses the configuration file at the specified location.

Specify a path that is readable from the current directory.

--credstore <credstore>

VI_CREDSTORE=<credstore>

Name of a credential store file. Defaults to <HOME>/.vmware/credstore/vicredentials.xml on Linux and <APPDATA>/VMware/credstore/vicredentials.xml on Windows. Commands for setting up the credential store are included in the vSphere SDK for Perl. See the vSphere SDK for Perl Programming Guide for information on managing the credential store.

--encoding <encoding>

VI_ENCODING=<encoding>

Specifies which encoding to use. Several encodings are supported.

  • utf8
  • cp936 (Simplified Chinese)
  • shftjis (Japanese)
  • iso-885901 (German)

You can use --encoding to specify the encoding for ESXCLI to map to when it is run on a foreign language system.

--passthroughauth

VI_PASSTHROUGHAUTH

If you specify this option, the system uses the Microsoft Windows Security Support Provider Interface (SSPI) for authentication. Trusted users are not prompted for a user name and password. See the Microsoft Web site for detailed information on SSPI.

This option is supported only if you are connecting to a vCenter Server system.

--passthroughauthpackage <package>

VI_PASSTHROUGHAUTHPACKAGE= <package>

Use this option with --passthroughauth to specify a domain-level authentication protocol to be used by Windows. By default, SSPI uses the Negotiate protocol, which means that client and server try to negotiate a protocol that both support.

If the vCenter Server system to which you are connecting is configured to use a specific protocol, you can specify that protocol by using this option.

This option is supported only if you are running ESXCLI on a Windows system and connecting to a vCenter Server system.

--password <passwd>

VI_PASSWORD=<passwd>

Uses the specified password (used with --username) to log in to the server.

  • If --server specifies a vCenter Server system, the user name and password apply to that server. If you can log in to the vCenter Server system, you need no additional authentication to run commands on the ESXi hosts that server manages.
  • If --server specifies an ESXi host, the user name and password apply to that server.

Use the empty string (' ' on Linux and " " on Windows) to indicate no password.

If you do not specify a user name and password on the command line, the system prompts you and does not echo your input to the screen.

--portnumber <number>

VI_PORTNUMBER=<number>

Uses the specified port to connect to the system specified by --server. Default is 443.

--protocol <HTTP|HTTPS>

VI_PROTOCOL=<HTTP|HTTPS>

Uses the specified protocol to connect to the system specified by --server. Default is HTTPS.

--savesessionfile <file>

VI_SAVESESSIONFILE=<file>

Saves a session to the specified file. The session expires if it is idle for 30 minutes.

--server <server>

VI_SERVER=<server>

Uses the specified ESXi or vCenter Server system. Default is localhost.

Use the --vihost option to specify the ESXi host that you want to run the command against. See Authenticating Through vCenter Server and vCenter Single Sign-On.

--servicepath <path>

VI_SERVICEPATH=<path>

Uses the specified service path to connect to the ESXi host. Default is /sdk/webService.

--sessionfile <file>

VI_SESSIONFILE=<file>

Uses the specified session file to load a previously saved session. The session must be unexpired.

--thumbprint <thumbprint>

VI_THUMBPRINT=<thumbprint>

Expected SHA-1, SHA-256, or SHA-512 host certificate thumbprint if no CA certificates file is provided in the --cacertsfile option. The thumbprint is returned by the server in the error message if you attempt to run a command without specifying a thumbprint or certificate file.

--url <url>

VI_URL=<url>

Connects to the specified vSphere Web Services SDK URL.

--username <u_name>

VI_USERNAME=<u_name>

Uses the specified user name.

  • If --server specifies a vCenter Server system, the user name and password apply to that server. If you can log in to the vCenter Server system, you need no additional authentication to run commands on the ESXi hosts that server manages.
  • If --server specifies an ESXi system, the user name and password apply to that system.

If you do not specify a user name and password on the command line, the system prompts you and does not echo your input to the screen.

--vihost <host>

-h <host>

When you run an ESXCLI command with the --server option pointing to a vCenter Server system, use --vihost to specify the ESXi host to run the command against.

Note: This option is not supported for each command. If supported, the option is included when you run <cmd> --help.