Automation : Use Virual PC from Command line

Virtual PC.exe is the Virtual PC command-line utility and can be used to perform a variety of Virtual PC and virtual machine tasks. By default, it is located in \Program Files\Microsoft Virtual PC.

Syntax

"Virtual PC.exe" [-singlepc] [-quiet] [-usehostdiskcache] [-pc virtual_machine_name [-disableclose] [-disableopt] [-s3bitclip] [-setbiosno bios_serial_number] [-setassettag asset_tag] [-launch] [-extnetworking] [{-fullscreen|-window}] [-geometry widthxheight{+|-}x offset{+|-}y offset] [{-minimize|-restore}] [{-pause|-resume}]] [-help] [-registervm filename.vmc] [-startvm filename.vmc]

Parameters

-singlepc
Starts the specified virtual machine without starting Virtual PC Console. This parameter can be useful for simplifying the Virtual PC interface in a corporate or lab environment, where users only want to access a virtual machine and do not need access to Virtual PC Console. This parameter can be used only when starting Virtual PC.
-quiet
Prevents the starting of any virtual machines that are configured to start automatically. This parameter can be used only when starting Virtual PC.
-usehostdiskcache
Turns on host-side disk caching, which can improve performance of virtual machines running operating systems other than Windows. This parameter can be useful for resolving poor performance problems with disk intensive tasks. This parameter can be used only when starting Virtual PC.
-pc virtual_machine_name
Specifies to perform operations on a specific virtual machine. The virtual_machine_name is the name that appears in Virtual PC Console and the virtual machine window for the virtual machine. The following table describes the options for this parameter.
Value Description
-disableclose Disables the Close button on the specified virtual machine. This parameter can be used only when starting the virtual machine.
-disableopt Disables any direct mode execution within the specified virtual machine. This parameter can be useful for providing a temporary resolution for poor stability of applications on a guest operating system. This parameter can be used only when starting the virtual machine.
-s3bitclip Clips accelerated S3 bit coordinates to 12 bits on the specified virtual machine. This parameter can be used only when starting the virtual machine.
-setbiosno bios_serial_number Sets the BIOS serial number of the specified virtual machine to the value specified. This can be useful for tracking Virtual PCs when using hardware management software. This parameter can be used only when the virtual machine is not running.
-setassettag asset_tag Sets the chassis asset tag of the specified virtual machine to the value specified. This can be useful for tracking Virtual PCs when using hardware management software or tracking other specific information. This parameter can be used only when the virtual machine is not running.
-launch Starts the specified virtual machine. Specify this parameter after -pc and any other optional parameters shown before -launch in the syntax section.
-extnetworking Specifies that all network connections on the specified virtual machine operate in external only mode. This limits the access of the virtual machine to only resources external to the physical computer. This parameter can be used only when starting the virtual machine.
-fullscreen Switches a running virtual machine to full-screen mode. This parameter can be used only when the virtual machine is running.
-window Switches a virtual machine running in full-screen mode to window mode. This parameter can be used only when the virtual machine is running.
-geometry widthxheight{+|-}x offset{+|-}y offset Specifies the location and window size of the specified virtual machine. The offsets are relative to the upper left corner of the screen. This parameter can be used only when the virtual machine is running.
-minimize Minimizes the specified virtual machine. This parameter can be used only when the virtual machine is running.
-restore Brings the specified virtual machine to the foreground of the screen. This parameter can be used only when the virtual machine is running.
-pause Pauses the specified virtual machine. This parameter can be used only when the virtual machine is running.
-resume Restores a paused virtual machine to an active state. This parameter can be used only when the virtual machine is running.
-help
Displays the online help topic, "Using the command line," when Virtual PC 2004 opens. This parameter can be used only when starting the virtual machine.
-registervm filename.vmc
Registers the specified .vmc file, which adds the corresponding virtual machine to the list of virtual machines. This parameter can be useful for using an automated deployment to register a .vmc without launching it. This parameter can be used only when the virtual machine is not running.
-startvm filename.vmc
Registers the specified .vmc file, which adds the corresponding virtual machine to the list of virtual machines, and starts the virtual machine. This parameter can be used only when starting the virtual machine.

Examples

The following examples show two ways to use Virtual PC.exe to start a virtual machine. In the examples, Contoso is the name of the virtual machine. The quotation marks are mandatory elements of the code.

  • To start a virtual machine without opening Virtual PC Console:

    "Virtual PC.exe" –pc Contoso –singlepc –launch

  • To start a virtual machine in full-screen mode with optimizations disabled:

    "Virtual PC.exe" –disableopt –pc Contoso –launch -fullscreen

2 comments:

Francois said...

Hi,

Do you know if there is a way, from the command, to close a specific virtual machine with the save state option.

Right now, when I have a VM running and I close the corresponding windows, I get a popup asking me what to do (save state, turn off, shutdown...) or I can configure the VM to always do the given action... in my case it would be save state.

However, I am currently unable to do that from the command line. Actually, if I have a VM running, the only I can stop it from the command line is by killing the virtual PC process. This causes all VM to close (which sucks) and to close with the turn off option (instead of the save state I would like).

any ideas ?

Peter Vrenken said...

Is it possible to query for running machines when using Virtual PC? There is some information available on how to interact with Virtual Server, but almost nothing on how to start/stop/query/communicate with Virtual PC's.

Does someone know if the above is possible, and if so where to find decent information regarding the subject?

Greetings and thanks in advance,

Peter Vrenken

Post a Comment