Vimsh
The VI metashell
The Virtual Infrastructure metashell is an undocumented and unsupported shell accessible from within the console on an ESX server. It can be invoked from the shell when logged in as root user as an interactive shell. You can do almost anything from it what you can do from the Virtual Infrastructure client and is more powerful as the normal RCLI console commands.
Below is some output of the shell that you get to see and the output of the "?" command:
[/]$ ? hostsvc/ vmsvc/ csinfo help puload internalsvc/ ? csls pinfo puse proxysvc/ argtype csuimport pload quit solo/ cls echo ploadpath sleep vimsvc/ csimport exit pls source
There's a separation between plugins and direct commands. The items from the list above that end in a "/" are plugins. (is this true or are they just idicating that there's a submenu?) You can use tab-completion in order to find the available parameters for any of the commands.
An advantage of vimsh over normal esx-cfg commands is that the changes are immediate, so you do not need to restart the vmware management services.
In recent versions of ESX (ESX3.5+), there's also a non interactive command line version of vimsh that can be used from within a script which is called vmware-vim-cmd and is much easier to read in your scripts as the alternative:
vimsh -n -e <command>
When using ESX embedded (ESXi3.5+) the command is vim-cmd instead.
List of commands
Following is a list of the available commands (the vimsh: prefix is only included as a namespace, so that it won't clash with other parts in the wiki)
Over time I will try to add the info found about this in here (help would be EXTREMELY appreciated) right now it just lists what is available in the online help and in many cases some example output of the commands.
vimsh: hostsvc/ vimsh: internalsvc/ vimsh: proxysvc/ vimsh: solo/ vimsh: vimsvc/ vimsh: vmsvc/ vimsh: ? vimsh: argtype vimsh: cls vimsh: csimport vimsh: csinfo vimsh: csls vimsh: csuimport vimsh: echo vimsh: exit vimsh: help vimsh: puload vimsh: pinfo vimsh: pload vimsh: ploadpath vimsh: pls vimsh: puse vimsh: quit vimsh: sleep vimsh: source
Background info
This command has its origin as a support shell only. It is rumored about that vimsh will be supported in one of the upcoming versions of ESX
External links
As there's no official documentation, here's the link to the current authorative documentation:
Example usage (article in dutch)
Other articles with examples: