Using Vmrun To Control Virtual Machines
Using Vmrun To Control Virtual Machines
Virtual Machines
VMware vSphere 4.x
VMware Workstation 7.0
VMware Fusion 3.0
VMware Server 2.0
EN-000222-3
Using vmrun to Control Virtual Machines
You can find the most up-to-date technical documentation on the VMware Web site at:
http://www.vmware.com/support/
The VMware Web site also provides the latest product updates.
If you have comments about this documentation, submit your feedback to:
[email protected]
Copyright © 2008–2010 VMware, Inc. All rights reserved. This product is protected by U.S. and international copyright and
intellectual property laws. VMware products are covered by one or more patents listed at
http://www.vmware.com/go/patents.
VMware is a registered trademark or trademark of VMware, Inc. in the United States and/or other jurisdictions. All other marks
and names mentioned herein may be trademarks of their respective companies.
VMware, Inc.
3401 Hillview Ave.
Palo Alto, CA 94304
www.vmware.com
2 VMware, Inc.
Contents
Index 19
VMware, Inc. 3
Using vmrun to Control Virtual Machines
4 VMware, Inc.
About This Book
This manual, Using vmrun to Control Virtual Machines, documents the vmrun utility, which helps you manage a
collection of virtual machines on a VMware® host.
Revision History
This book is revised with each release of the product or when necessary. A revised version can contain minor
or major changes. Table 1 summarizes the significant changes in each version of this guide.
2009‐09‐09 For the VIX API 1.7 release, which provided support for ESX/ESXi hosts and VMware vSphere 4.
2008‐07‐24 Initial release, including support for VMware Fusion on Intel‐based Macintosh OS X hosts.
2008‐06‐23 Initial draft for the VMware Server 2.0 RC1 and Workstation 6.5 Beta2 releases.
Intended Audience
This book is intended for developers and system administrators who want to control guest virtual machines
on various VMware product platforms. Supported platforms include Workstation, Player, VMware Fusion®,
VMware Server, and VMware vSphere™ (ESX™/ESXi hosts with vCenter™ Server).
Document Feedback
VMware welcomes your suggestions for improving our documentation. Send your feedback to
[email protected].
VMware, Inc. 5
Using vmrun to Control Virtual Machines
Support Offerings
To find out how VMware support offerings can help meet your business needs, go to
http://www.vmware.com/support/services.
6 VMware, Inc.
l
The vmrun utility runs on most VMware product platforms, including Workstation, Player, VMware Fusion,
VMware vSphere (ESX/ESXi hosts managed by vCenter Server), and VMware Server. On these platforms, the
VIX API libraries and the vmrun utility are often the best way to automate guest operations.
Power Commands
Power commands control these virtual machine operations: start (power on), stop (power off), reset (reboot),
suspend (but allow local work to resume), pause (without interrupting), and unpause (continue).
Workstation can group virtual machines in teams and apply power operations to the whole team.
Snapshot Commands
A snapshot captures the state of a virtual machine at the time of the snapshot, including all data on virtual
disks. You can then use the snapshot to revert the virtual machine to its previous state. Snapshots are useful
for data backup, and as a placeholder for development and testing.
Snapshot commands list existing snapshots of a virtual machine, create a snapshot, delete a snapshot, and
revert a virtual machine to its state at the time of a snapshot.
VMware Server limits each virtual machine to one snapshot. VMware Fusion supports snapshots in a line only.
These commands begin or end the recording of events, and begin or end the replay of a recording.
VMware, Inc. 7
Using vmrun to Control Virtual Machines
Run an executable program in the guest operating system, or run an interpreted script that you provide.
Check if a file exists in the guest, delete a file, rename a file, list files, and create or delete a directory.
Copy a file from the host to the guest, or from the guest to the host.
Add a shared folder from the host, make a shared folder writable in the guest, or remove a shared folder.
Capture a screen image from the guest (Workstation and VMware Fusion only).
List the processes running in the guest operating system, or end a process (with permission).
Read or write a variable in the guest operating system’s environment or virtual machine state.
The timeout (wait for VMware Tools) is five minutes for all guest‐related commands.
Maintenance Commands
This category includes commands to list all running virtual machines, upgrade the virtual machine hardware
version, and install VMware Tools in the guest operating system.
Additionally, except on VMware Server, you can clone a virtual machine image to another virtual machine.
On VMware vSphere and VMware Server, you can register and unregister virtual machines.
VProbes Commands
On Workstation and Fusion, vmrun can interact with VProbes, a facility for instrumenting a powered‐on guest
operating system, its processes, and the virtualization layer. See the VProbes Programming Reference for details.
Limitations
VMware Fusion does not support snapshot trees, or record and replay.
Player does not support pause and unpause, snapshot operations, virtual machine cloning, virtual hardware
upgrade, or record and replay.
VMware Server does not support teams, shared folders, cloning, record and replay, or multiple snapshots.
When you try to create a second snapshot, the UI asks you to overwrite your existing snapshot.
Setting Up vmrun
The procedure for setting up vmrun varies based on the operating system of the client computer.
For use with remote product platforms, you can obtain vmrun by installing the VIX standalone libraries,
available free of charge on the VMware download site.
Linux Setup
To use the vmrun utility on Linux
2 If this fails on an old Linux distribution: as root or superuser, edit the /etc/ld.so.conf file, add the
following line with the default location of the VIX library, save the file, and run the ldconfig command.
/usr/lib/vmware-vix/lib
8 VMware, Inc.
Using vmrun to Control Virtual Machines
Windows Setup
To use the vmrun utility on Windows
2 If VMware Workstation is already in your system Path, this step is unnecessary because a copy of vmrun
is installed there. If not, add the VIX folder location to your system path. On Windows XP, click:
Computer > Properties > Advanced > Environment Variables > System variables > Path > Edit
With the right arrow key, move the insertion point to the end of line, add a semicolon, add the full path
of the folder where vmrun is located, and click OK three times.
Mac OS X Setup
To use the vmrun utility on Mac OS
1 In a Terminal window, add the VMware Fusion directory to your system path.
export PATH="$PATH:/Library/Application Support/VMware Fusion"
In the following syntax examples, options enclosed in angle brackets indicate variables that you supply.
Guest Operations
Guest operations require authentication by the guest operating system, so their command descriptions in
Table 2, “vmrun Commands and Parameters,” on page 11 say that a “valid guest login” is required. Use the
following flags to specify the guest login:
-gu <userName in guest OS>
-gp <userPassword in guest OS>
As of the VIX 1.10 release, you no longer need to specify a guest user name and password, or an encryption
password. If vmrun needs authentication information, it prompts for it.
NOTE On Workstation, Player, and VMware Fusion, powering on a virtual machine with the default gui
option requires a window system (user interface) to be running on the host. VMware vSphere and VMware
Server do not impose this requirement.
VMware, Inc. 9
Using vmrun to Control Virtual Machines
VMware vSphere requires additional flags for connections to an ESX/ESXi host or the vCenter Server:
-h <hostName or IPaddr>
-P <portNumber>
-u <adminLogin on VMware Server>
-p <adminPassword on VMware Server>
The port number defaults to 443. You can also specify the port number in the -h option after the host name or
IP address, separated by a colon, using standard URL syntax. As of the VIX 1.10 release, if you do not specify
administrator login name and password, vmrun prompts you for authentication information. For example, the
following command lists all running virtual machines on a remote server:
vmrun -T esx -h esx.example.com:8333 -u root -p secretpw list
To set the host type for remote access to VMware Server 1.0.x, use the mandatory -T option, the -h option with
the host name instead of the URL, and the -P option with the port number.
vmrun -T server1 -h vm1.example.com -P 443 -u root -p secretpw list
10 VMware, Inc.
Using vmrun to Control Virtual Machines
Power Commands
start Starts a virtual machine (.vmx file) or team (.vmtm file). <path to .vmx or .vmtm file>
(Teams supported only on The default gui option starts the machine interactively, [ gui | nogui ]
Workstation.) which is required to display a VMware user interface.
The nogui option suppresses the user interface,
including the startup dialog box, to allow noninteractive
scripting.
stop Stops a virtual machine (.vmx file) or team (.vmtm file). <path to .vmx or .vmtm file>
(Teams supported only on Use the soft option to power off the guest after running [ hard | soft ]
Workstation.) shutdown scripts. Use the hard option to power off the
guest without running scripts, as if you pressed the
power button. The default is to use the powerType value
specified in the .vmx file, if present.
reset Resets a virtual machine (.vmx file) or team (.vmtm file). <path to .vmx or .vmtm file>
(Teams supported only on Use the soft option to run shutdown scripts before [ hard | soft ]
Workstation.) rebooting the guest. Use the hard option to reboot the
guest without running scripts, as if you pressed the reset
button. The default is to use the powerType value
specified in the .vmx file, if present.
suspend Suspends a virtual machine (.vmx file) or team (.vmtm) <path to .vmx or .vmtm file>
(Teams supported only on without shutting down, so local work can resume later. [ hard | soft ]
Workstation.) The soft option suspends the guest after running
system scripts. On Windows guests, these scripts release
the IP address. On Linux guests, the scripts suspend
networking. The hard option suspends the guest
without running the scripts. The default is to use the
powerType value specified in the .vmx file, if present.
To resume virtual machine operation after suspend, use
the start command. On Windows, the IP address is
retrieved. On Linux, networking is restarted.
pause Pauses a virtual machine (.vmx file). You can use this <path to .vmx file>
(Pause supported only on either to pause replay or to pause normal operation.
Workstation.)
unpause Resumes operation of a virtual machine (.vmx file) from <path to .vmx file>
(Unpause supported only on where you paused replay or normal operation.
Workstation.)
Snapshot Commands
listSnapshots Lists all snapshots in a virtual machine (.vmx file). <path to .vmx file>
The showtree option displays snapshots in tree format, [ showtree ]
with children indented under their parent.
snapshot Creates a snapshot of a virtual machine (.vmx file). For <path to .vmx file>
(VMware Server does not products that support multiple snapshots, you must <snapshot name>
support multiple snapshots. provide the snapshot name.
VMware Fusion does not Because the forward slash defines pathnames, do not
support snapshot trees.) use the slash character in a snapshot name, because that
makes it difficult to specify the snapshot path later.
VMware, Inc. 11
Using vmrun to Control Virtual Machines
deleteSnapshot Removes a snapshot from a virtual machine (.vmx file). <path to .vmx file>
(VMware Server always For products that support multiple snapshots, you must <snapshot name>
deletes the root snapshot.) provide the snapshot name.
[ andDeleteChildren ]
The virtual machine must be powered off or suspended.
If the snapshot has children, they become children of the
deleted snapshot’s parent, and subsequent snapshots
continue as before from the end of the chain.
The andDeleteChildren option deletes the specified
snapshot and its children recursively.
See revertToSnapshot for solutions to name conflicts.
revertToSnapshot Sets the virtual machine to its state at snapshot time. <path to .vmx file>
(VMware Server always However, if the virtual machine was powered on at the <snapshot name>
reverts to the root snapshot.) time of the snapshot, vmrun reverts it to suspended state.
If a snapshot has a unique name within a virtual or
machine, revert to that snapshot by specifying the path
to the virtual machine’s configuration file and the
unique snapshot name. <path to .vmx file>
If several snapshots have the same name, specify the <snap1/snap2/snapN>
snapshot by including a full pathname for the snapshot.
A pathname is a series of snapshot names, separated by
forward slash characters (/). Each name specifies a new
snapshot in the tree. For example, the pathname
Snap1/Snap2 identifies a snapshot named Snap2 that
was taken from the state of a snapshot named Snap1.
beginRecording Begins recording a running virtual machine (.vmx file), <path to .vmx file>
(Recording supported only storing activity in the specified snapshot object, with <snapshot object name>
on Workstation.) optional description for your convenience. [ <description> ]
Only one recording or replay can be active at a time.
endRecording Ends the recording of a virtual machine (.vmx file) that <path to .vmx file>
is in progress, and closes its snapshot object.
beginReplay Begins replaying the recorded activity of a powered off <path to .vmx file>
(Replay supported only on virtual machine (.vmx file) from a snapshot object, <snapshot object name>
Workstation.) powering off the virtual machine if necessary.
Only one recording or replay can be active at a time.
You can pause replay with the pause command, and
resume replay with the unpause command.
endReplay Ends replay of the recorded virtual machine (.vmx file) <path to .vmx file>
that is underway.
runProgramInGuest Runs a specified program in the guest operating system. <path to .vmx file>
The -noWait option returns a prompt immediately after [ -noWait |
the program starts in the guest, rather than waiting for it -activeWindow |
to finish. This option is useful for interactive programs. -interactive ]
The -activeWindow option ensures that the Windows <program name>
GUI is visible, not minimized. It has no effect on Linux. [ <program arguments> ]
The -interactive option forces interactive guest login.
It is useful for Vista and Windows 7 guests to make the
program visible in the console window.
You must provide the full pathname of a program
accessible to the guest. Also provide full accessible
pathnames for any files specified in the program
arguments, according to requirements of the program.
VMware Tools and a valid guest login are required.
12 VMware, Inc.
Using vmrun to Control Virtual Machines
fileExistsInGuest Checks whether the specified file exists in the guest <path to .vmx file>
operating system. VMware Tools and a valid guest login <path to file on guest>
are required.
setSharedFolderState Modifies the writability state of a specified folder shared <path to .vmx file>
(VMware vSphere and between the host and a guest virtual machine (.vmx file). <share name>
VMware Server do not The share name is a mount point in the guest file system. <path to folder on host>
support shared folders.) The path to folder is the exported directory on the host.
writable | readonly
A shared folder can be made writable or read‐only.
addSharedFolder Adds a folder to be shared between the host and guest. <path to .vmx file>
(VMware vSphere and The share name is a mount point in the guest file system. <share name>
VMware Server do not The path to folder is the exported directory on the host. <path to folder on host>
support shared folders.) On Windows guests, there might be a delay before
shared folders are visible to the InGuest commands.
removeSharedFolder Removes the guest virtual machine’s access to a shared <path to .vmx file>
(VMware vSphere and folder on the host. The share name is a mount point in <share name>
VMware Server do not the guest file system.
support shared folders.)
enableSharedFolders Allows the guest virtual machine, specified by .vmx file, <path to .vmx file>
(VMware vSphere and to share folders with its host. After enabling, run [runtime]
VMware Server do not addSharedFolder to specify each host folder to share.
support shared folders.) The optional runtime argument means to share folders
only until the virtual machine is powered off. Otherwise,
the setting persists at next power on.
disableSharedFolders Stops the guest virtual machine, specified by .vmx file, <path to .vmx file>
(VMware vSphere and from sharing folders with its host. [runtime]
VMware Server do not The optional runtime argument means to stop sharing
support shared folders.) folders only until the virtual machine is powered off.
Otherwise, the setting persists at next power on.
listProcessesInGuest Lists all processes running in the guest operating <path to .vmx file>
system. VMware Tools and a valid guest login are
required.
killProcessInGuest Stops a specified process in the guest operating system. <path to .vmx file>
VMware Tools and a valid guest login are required. <process ID>
The process ID can be any number listed after pid= in
the output of listProcessesInGuest.
runScriptInGuest Runs the specified command script in the guest <path to .vmx file>
operating system. VMware Tools and a valid guest login <interpreter path>
are required. <script text>
The interpreter path is the command that runs the script.
Provide the complete text of the script, not a filename.
deleteFileInGuest Deletes the give file from the guest operating system. <path to .vmx file>
VMware Tools and a valid guest login are required. <path to file on guest>
For Vista and Windows 7 restrictions on this command,
see note in “Guest to Host File Operations” on page 17.
createDirectoryInGuest Creates the specified directory in the guest operating <path to .vmx file>
system. VMware Tools and a valid guest login are <directory path on guest>
required.
For Vista and Windows 7 restrictions on this command,
see note in “Guest to Host File Operations” on page 17.
deleteDirectoryInGuest Deletes the specified directory from the guest operating <path to .vmx file>
system. VMware Tools and a valid guest login are <directory path on guest>
required.
For Vista and Windows 7 restrictions on this command,
see note in “Guest to Host File Operations” on page 17.
VMware, Inc. 13
Using vmrun to Control Virtual Machines
listDirectoryInGuest Lists contents of the specified directory in the guest <path to .vmx file>
operating system. VMware Tools and a valid guest login <directory path on guest>
are required.
copyFileFromHostToGuest Copies a file from the host to the guest operating system. <path to .vmx file>
VMware Tools and a valid guest login are required. <file path on host>
Specify the source file (host) before the destination file <file path in guest>
(guest).
For Vista and Windows 7 restrictions on this command,
see note in “Guest to Host File Operations” on page 17.
copyFileFromGuestToHost Copies a file from the guest operating system to the host. <path to .vmx file>
VMware Tools and a valid guest login are required. <file path in guest>
Specify the source file (guest) before the destination file <file path on host>
(host).
renameFileInGuest Renames or moves a file in the guest operating system. <path to .vmx file>
VMware Tools and a valid guest login are required. <original filename>
Specify the source name (original) before the destination <new filename>
(new).
captureScreen Captures the screen of the virtual machine to a local file. <path to .vmx file>
The specified output file on the host is in PNG format. <output path on host>
A valid guest login is required.
writeVariable Writes a variable to the virtual machine state or guest. <path to .vmx file>
You can set either runtime configuration in the .vmx file, [ runtimeConfig |
or environment variables in the guest operating system. guestEnv ]
Environment variables require VMware Tools and valid
<variable name>
guest login. For Linux guests, setting the guestEnv
requires root login. <variable value>
Provide the variable name and its value.
readVariable Reads a variable from the virtual machine state or guest. <path to .vmx file>
You can get either runtime configuration in the .vmx file, [ runtimeConfig |
or environment variables in the guest operating system. guestEnv ]
The latter requires a valid guest login.
<variable name>
Maintenance Commands
upgradevm Upgrades a virtual machine to the current version of <path to .vmx file>
virtual hardware. Has no effect if the virtual hardware
version is the most recent supported.
installTools Prepares to install VMware Tools in the guest operating <path to .vmx file>
system. In Windows guests with autorun enabled, the
VMware Tools installer starts by itself. In Linux guests
without autorun, this command connects the virtual
CD‐ROM drive to the VMware Tools ISO image suitable
for the guest, but the installer does not start. You must
complete the installation with additional manual steps,
as described in the product documentation.
register Registers the specified virtual machine, adding it to the <path to .vmx file>
(Registration not supported host’s inventory. Path format depends on the product.
on Workstation or on For VMware Server 2.0, "[storage1] vm/vm.vmx"
VMware Fusion.) (starting with the datastore) is typical.
unregister Unregisters the specified virtual machine, removing it <path to .vmx file>
(Registration not supported from the host’s inventory. Path format depends on the
on Workstation or on product. For Server 2.0, "[storage1] vm/vm.vmx"
VMware Fusion.) (starting with the datastore) is typical.
14 VMware, Inc.
Using vmrun to Control Virtual Machines
clone Creates a copy of the virtual machine and guest. Provide <path to .vmx file>
(Cloning not supported on both the source and the destination .vmx file pathname. <destination .vmx file path>
VMware Server or on You can create either a full clone or a linked clone. To
full | linked
VMware Fusion.) create the clone from a snapshot, rather than from the
current virtual machine state, specify a snapshot name. [ <snapshot name> ]
VProbes Commands
vprobeVersion Shows the VProbes version on the virtual machine. <path to .vmx file>
vprobeLoad Loads a VP script onto the virtual machine. <path to .vmx file>
<text of the VP script>
vprobeLoadFile Loads a VP script file onto the virtual machine. <path to .vmx file>
<path to VP script>
vprobeReset Disables all VProbes on the virtual machine. <path to .vmx file>
vprobeListProbes Lists active VProbes on the virtual machine. <path to .vmx file>
vprobeListGlobals Lists VProbes global variables on the virtual machine. <path to .vmx file>
You can derive the guest operating system type in examples by distinguishing / for Linux and \ for Windows.
Reboot Commands
Reboot a virtual machine running on Workstation for Linux:
vmrun -T ws reset /path/to/vm/RHEL4/RHEL4.vmx soft
Power Commands
Power on a virtual machine with Workstation on a Windows host:
vmrun start "C:\Documents and Settings\<user>\My Documents\My Virtual Machines\WinXP\WinXP.vmx"
This error message following this command indicates that the VIX package you installed does not support
VMware Server:
vmrun -T server start "My Virtual Machines\WinXP\WinXP.vmx"
Error: The specified service provider was not found
On the remote ESX/ESXi host with IP address 10.0.1.8, power on a virtual machine:
vmrun -T esx -h 10.0.1.8 -u root -p <pass> start "[storage1] WinXP/WinXP.vmx"
VMware, Inc. 15
Using vmrun to Control Virtual Machines
If HTTPS service is not configured on port 443, specify the appropriate port after the colon:
vmrun -T esx -h 10.0.1.9:8333 -u root -p <pass> start "[storage1] WinXP/WinXP.vmx"
On the remote ESX/ESXi host with IP address 10.0.1.8, power off the virtual machine:
vmrun -T esx -h 10.0.1.8 -u root -p <pass> start "[storage1] WinXP/WinXP.vmx"
For VMware Server installed on Windows hosts, the -u user is usually Administrator, not root.
vmrun -T server -h 10.0.1.8 -u Administrator -p <pass> start "[std] WinXP/WinXP.vmx"
Snapshot Commands
Create a snapshot of a virtual machine with Workstation on a Linux host or VMware Fusion:
vmrun -T ws snapshot /path/to/vm/Ubuntu/Ubuntu.vmx mySnapshot
List snapshots on the virtual machine, showing the one made in the previous command:
vmrun -T ws listSnapshots /path/to/vm/Ubuntu/Ubuntu.vmx
Total snapshots: 1
mySnapshot
Revert to the snapshot you made, which suspends the virtual machine, and restart to resume operation:
vmrun -T ws revertToSnapshot /path/to/vm/Ubuntu/Ubuntu.vmx mySnapshot
vmrun -T ws start /path/to/vm/Ubuntu/Ubuntu.vmx
Revert to the virtual machine snapshot and start replaying the recording of user events:
vmrun -T ws -gu <user> -gp <pass> beginReplay WinXP\WinXP.vmx session1
Pause replay:
vmrun -T ws -gu <user> -gp <pass> pause WinXP\WinXP.vmx
Resume replay:
vmrun -T ws -gu <user> -gp <pass> unpause WinXP\WinXP.vmx
End replay:
vmrun -T ws -gu <user> -gp <pass> endReplay WinXP\WinXP.vmx
Start the command tool on a Windows guest as an active window on the desktop:
vmrun -T ws -gu <user> runProgramInGuest WinXP\WinXP.vmx -activeWindow cmd.exe
Guest password: <pass>
Run a batch script file on a Windows guest, with Perl as the script interpreter:
vmrun -T ws -gu <user> runScriptInGuest Win2k\Win2k.vmx C:\perl\perl.exe C:\script.pl
Guest password: <pass>
16 VMware, Inc.
Using vmrun to Control Virtual Machines
Run a batch script and keep running afterwards. To use cmd.exe on Windows, you must specify the script
interpreter as null:
vmrun -T ws -gu <user> -gp <pass> runScriptInGuest WindowsXP\WindowsProfessionalXP.vmx ""
"cmd.exe /k \"C:\\Program Files\\Microsoft Visual Studio\\VC\\vcvarsall.bat\" x86"
Start an X clock on a Linux guest (this requires the -display option to appear on the console). Run the same
X clock command, but return control back to the console immediately:
vmrun -gu <user> -gp <pass> runProgramInGuest SUSE/SUSE.vmx /usr/bin/xclock -display :0
vmrun -gu <user> -gp <pass> runProgramInGuest SUSE/SUSE.vmx -noWait /usr/bin/xclock -display :0
New versions of Firefox support the --display flag from X11, so the option looks a bit different:
vmrun -gu <user> -gp <pass> runProgramInGuest Ubuntu/Ubuntu.vmx /usr/bin/firefox --display=:0
For commands that require an environment variable, you can set it first, or export it for multiple commands:
vmrun -gu <user> -gp <pass> runProgramInGuest SUSE/SUSE.vmx "DISPLAY=:0 /usr/bin/salesgui"
vmrun -gu <user> -gp <pass> runProgramInGuest SUSE/SUSE.vmx "export REL=7; /opt/cmd1; /opt/cmd2"
Setting the guest environment with guestEnv requires root permission on Linux, because the change affects
subsequent commands issued by other users:
vmrun -T ws -gu root -gp <rootpass> writeVariable SUSE/SUSE.vmx guestEnv SRC tmp.example.com:1666
List processes in a Linux guest, and end the process numbered 8192:
vmrun -T ws -gu <user> -gp <pass> listProcessesInGuest Ubuntu/Ubuntu.vmx
vmrun -T ws -gu <user> -gp <pass> killProcessInGuest Ubuntu/Ubuntu.vmx 8192
Run a Perl script on a Linux guest to remove DOS‐style carriage returns from a file:
vmrun -T ws -gu <user> -gp <pass> runProgramInGuest Ubuntu/Ubuntu.vmx /usr/bin/perl -e
"open(FILE, '>/tmp/unix.txt'); while (<>) { s/\r\n/\n/ ; print FILE}" /tmp/dos.txt
Run a Perl script on a Windows guest to insert DOS‐style carriage returns in a file:
vmrun -T ws -gu <user> -gp <pass> runProgramInGuest WinXP\WinXP.vmx C:\cygwin\bin\perl.exe -e
"open(FILE, ‘>C:\dos.txt’); while (<>) { s/\n/\r\n/ ; print FILE}" C:\unix.txt
To copy a file from a guest to the host, the user must have read permission on the source file:
vmrun -gu <user> -gp <pass> copyFileFromGuestToHost Ubuntu\Ubuntu.vmx /home/<user>/addr addr.txt
Before sharing folders, you must enable them with the enabledSharedFolders command, or by selecting
VM > Settings > Options > Shared Folders > Enabled in the user interface. On Linux guests, the /mnt/hgfs
directory is available for sharing, but you can use a different directory for shared folders.
Shared folders are writable by default. To make a shared folder read‐only or to delete the shared folder:
vmrun -T ws setSharedFolderState Ubuntu\Ubuntu.vmx <sharedFolderName> C:\Share readonly
vmrun -T ws removeSharedFolder Ubuntu\Ubuntu.vmx <sharedFolderName>
VMware, Inc. 17
Using vmrun to Control Virtual Machines
NOTE Windows Vista and Windows 7 restrict certain operations. Only the Administrator account can use
copyFileFromHostToGuest and deleteFileInGuest to write and delete files in C:\ and system directories.
Only the Administrator account can use createDirectoryInGuest or deleteDirectoryInGuest to modify
system directories. Regular users, even those with administrator privilege, cannot perform these operations.
Maintenance Commands
List running virtual machines on Workstation:
vmrun -T ws list
Total running VMs: 2
C:\Documents and Settings\user\My Documents\My Virtual Machines\Ubuntu\Ubuntu.vmx
C:\Documents and Settings\user\My Documents\My Virtual Machines\WinXP\WinXP.vmx
On VMware vCenter Server, the vmrun utility supports the same form of path‐to‐VMX specification as
ESX/ESXi hosts. You cannot reach a virtual machine file through its resource pool or vApp.
vmrun -T vc -h 10.0.1.9 -u Administrator -p <pw> register "[storage1] RHEL5/RHEL5.vmx"
18 VMware, Inc.
Index
A listDirectoryInGuest 14
addSharedFolder command 13, 17 listProcessesInGuest 13
readVariable 14
B removeSharedFolder 13
beginRecording command 12, 16 renameFileInGuest 14
beginReplay command 12, 16 runProgramInGuest 12
runScriptInGuest 13
C setSharedFolderState 13
captureScreen command 14 user name and password 9
clone command 15 writeVariable 14
command-line flags 9
copyFileFromGuestToHost command 14, 17 I
copyFileFromHostToGuest command 14, 17 installTools command 14, 18
createDirectoryInGuest command 13
K
D killProcessInGuest command 13, 17
deleteDirectoryInGuest command 13
deleteFileInGuest command 13 L
deleteSnapshot command 12, 16 Linux setup 8
deleteVM command 14 list command 14, 18
dialog boxes, disabling 10 listDirectoryInGuest command 14
disableSharedFolders command 13 listProcessesInGuest command 13, 17
listRegisteredVM command 14
E listSnapshots command 11, 16
enableSharedFolders 13
endRecording command 12, 16 M
endReplay command 12, 16 Mac OS setup 9
ESX/ESXi hosts, flags for 10 maintenance commands 8
clone 15
F deleteVM 14
fileExistsInGuest command 13 installTools 14
flags on command line 9 list 14
Fusion, flags for 9 listRegisteredVM 14
register 14
G unregister 14
guest operations 8 upgradevm 14
addSharedFolder 13
captureScreen 14 P
copyFileFromGuestToHost 14 path to VMX file 10
copyFileFromHostToGuest 14 pause command 11, 16
createDirectoryInGuest 13 power commands 7
deleteDirectoryInGuest 13 pause 11
deleteFileInGuest 13 reset 11
disableSharedFolders 13 start 11
enableSharedFolders 13 stop 11
fileExistsInGuest 13 suspend 11
killProcessInGuest 13 unpause 11
VMware, Inc. 19
Using vmrun to Control Virtual Machines
R W
record and replay commands 7 Windows setup 9
beginRecording 12 Workstation, flags for 9
beginReplay 12 writeVariable command 14, 17
endRecording 12
endReplay 12
register command 14, 18
removeSharedFolder command 13, 17
renameFileInGuest command 14
reset command 11, 15
revertToSnapshot command 12, 16
runProgramInGuest command 12, 16
runScriptInGuest command 13, 16
S
Server, flags for 10
setSharedFolderState command 13, 17
setup on Linux 8
setup on Mac OS 9
setup on Windows 9
snapshot command 11, 16
snapshot commands 7
deleteSnapshot 12
listSnapshots 11
revertToSnapshot 12
snapshot 11
start command 11, 15
stop command 11, 15
suspend command 11
T
technical support resources 5
U
unpause command 11, 16
unregister command 14, 18
upgradevm command 14
V
vCenter Server, flags for 10
vmrun utility 7
VMware Fusion, flags for 9
VMware Server, flags for 10
VMware vSphere, flags for 10
VMware Workstation, flags for 9
VMX file, specifying 10
VProbes commands 8
vprobeListGlobals 15
vprobeListProbes 15
vprobeLoad 15
vprobeLoadFile 15
vprobeReset 15
vprobeVersion 15
20 VMware, Inc.