The following table lists options that are available for all vSphere SDK for Perl scripts. Use the parameter on the command line and the variable or the parameter in configuration files.

Table 1. Options Available for All SDK for Perl Commands
Option and Environment Variable Description
--cacertsfile <certsfile>

-t <certs_file>

VI_CACERTFILE=<cert_file_path>

ESXCLI commands only.

Used to specify 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.

--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. The vSphere SDK for Perl Programming Guide explains how to manage the credential store.
--encoding <encoding>

VI_ENCODING=<encoding>

Specifies the encoding to be used. Several encodings are supported.
  • utf8
  • cp936 (Simplified Chinese)
  • shftjis (Japanese)
  • iso-885901 (German).
--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 a detailed discussion of 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 using this option.

--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 has been unused 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 host certificate thumbprint if no CA certificates file is provided in the --cacertsfile argument. 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 ESXi 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 a 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.