Vimsh

From VI-Toolkit
Revision as of 08:53, 13 December 2008 by Wila (talk | contribs)
Jump to navigation Jump to search

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 almost do anything from it what you can do from the Virtual Infrastructure client and is more powerful as the normal console commands.

Below is some output of the shell that you get to see and the output of the "?" command:

#vimsh
[/]$ ?
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?)

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, there's also a command line non interactive 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>

List of commands

Following is a list of the availabled commands (the vimsh: prefix is only included as a namespace, so that it won't clash with other parts in the wiki, not sure if that's a smart thing to do...) Over time I will try to add the info found about this in here (help would be EXTREMELY appreciated)

vimsh: hostsvc/
vimsh: vmsvc/        
vimsh: csinfo
vimsh: help
vimsh: puload
vimsh: internalsvc/
vimsh: csls
vimsh: pinfo
vimsh: puse          
vimsh: proxysvc/
vimsh: argtype
vimsh: csuimport
vimsh: pload
vimsh: quit          
vimsh: solo/
vimsh: cls
vimsh: echo
vimsh: ploadpath
vimsh: sleep         
vimsh: vimsvc/
vimsh: csimport
vimsh: exit
vimsh: pls
vimsh: source

Background info

This command has its origin as a support shell only. It is rumored about that it 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: