VMware Host - List running VMs

Declaration

<AMVMWAREVM ACTIVITY="list_runningvms" SESSION="text" HOSTTYPE="text (options)" SERVER="text" USERNAME="text" PASSWORD="text (encrypted)" CONNECTIONTIMEOUT="number" RESULTDATASET="text" />

Related Topics   

Description

Retrieves all running virtual machines and populates a dataset with the results. The dataset returns plenty of information, such as  path, display name, power state, allocated memory and CPU count. Can also determine if the running VM is paused, recording, replaying, suspended and much more.

Practical usage

Ideally used as a means to manage multiple VMs in a running state.

Parameters

Connection

Property Type Required Default Markup Description
Connection --- --- --- --- Indicates where this activity's connection properties should originate from. Different parameters become active depending on the option selected. This is a visual parameter used only during design-time, therefore, contains no properties or markups. The available options are:
  • Host (default) - A custom set of credentials will be entered for this activity. This option is normally selected if only a single activity is needed to perform an operation.
  • Session - Credentials derive from a session created in a previous step with the use of the VMware Host - Connect activity. This allows several activities to be linked to a single session, eliminating redundancy. Multiple sessions can exist in a single task.
Session Text Yes, if Connection is set to Session VMOpsSession1 SESSION="VMO101" The name of a session (created in a previous VWmware Host - Connect step) in which to link this activity. This parameter is active only if the Connection parameter is set to Session.
Host type Text (options) Yes, if Connection is set to Host VIServer
  • HOSTTYPE="Server"
  • HOSTTYPE="Workstation"
  • HOSTTYPE="VIServer"
  • HOSTTYPE="Player"
The type of VM host to establish a connection with. This parameter is active only if the Connection parameter is set to Host. The available options are:
  • VMware Server (1.0x)
  • VMware Workstation
  • VMware VI Server (ESX/ESXi, vCenter, VMware Server 2.0) (default)
  • VMware Player
Host name Text Yes (Empty) SERVER="host.server.com" The hostname or IP address of the computer where the virtual machine is located. This parameter is active only if the Host type parameter is set to VMware Server (1.0x) or VMware VI Server (ESX/ESXi, vCenter, VMware Server 2.0).
Username Text No (Empty) USERNAME="MsPacman" The username identifying a valid user account on the machine. This parameter is active only if the Host type parameter is set to VMware Server (1.0x) or VMware VI Server (ESX/ESXi, vCenter, VMware Server 2.0).
Password Text No (Empty) PASSWORD="encrypted" The password identifying a valid user account on the machine. This parameter is active only if the Host type parameter is set to VMware Server (1.0x) or VMware VI Server (ESX/ESXi, vCenter, VMware Server 2.0).
Connection timeout Number No 60 CONNECTIONTIMEOUT="50" The maximum time period in seconds during which a connection must be established between the guest and host, otherwise, the step times out. The default value is 60 seconds.

Virtual Machine

Property Type Required Default Markup Description
Create and populate dataset with Virtual Machine information Text Yes (Empty) RESULTATASET="theDataset" The name of the dataset in which to create and populate with the list of running VMs. More details regarding the fields that this dataset creates can be found below under Datasets.

Description

Error Causes

On Error

Additional notes

Datasets

A dataset is a multiple column, multiple row container object. This activity creates and populates a dataset containing a specific set of fields in addition to the standard dataset fields. The table below describes these fields (assuming the dataset assigned is named theDataset).

Name Type Return Value
theDataset.CPUCount Number Returns the number of processors.
theDataset.IsPaused True/False Returns whether the running VM is paused. True if it paused, false if it is not paused.
theDataset.IsRecording True/False Returns true if the running VM is recording, false if it is not.
theDataset.IsReplaying True/False Returns true if the running VM is replaying, otherwise returns false.
theDataset.IsRunning True/False Returns true if the VM is running, false if it is not.
theDataset.IsSuspended True/False Returns true if the running VM is suspended, false if it is not.
theDataset.MemorySize Number Returns the total memory size allocated to the running VM.
theDataset.PathName Text Returns the path of the running VM. Example: [HPvd01_001] WinServer2008x64_1/WinServer2008x64.vmx
theDataset.PowerState Number Returns the power state of the running VM.

Example

NOTE:
  • Copy and paste the sample AML code below directly into the Task Builder Steps Panel.
  • To successfully run the sample code, update parameters containing user credentials, files, file paths, or other information specific to the task to match your environment.

Description

This sample task retrieves all running VMs and populates a dataset with the result. It then loops through the dataset and displays the path name of each running VM in a message box.

Copy
<!-- Create virtual machine connection of host type "Workstation" / Create and start session named "VMOpsSession1" -->
<AMVMWAREVM ACTIVITY="connect" HOSTTYPE="Workstation" SESSION="VMOpsSession1" />
<!-- Power on virtual OS image -->
<AMVMWAREVM SESSION="VMOpsSession1" VMPATH="F:\Virtual Machines\Windows Server 2008 x64\Windows Server 2008 x64 Edition.vmx" LAUNCHGUI="YES" />
<!-- List registered VMs -->
<AMVMWAREVM ACTIVITY="list_runningvms" SESSION="VMOpsSession1" RESULTDATASET="theData" />
<AMLOOP ACTIVITY="dataset" DATASET="theData" />
<AMSHOWDIALOG WINDOWTITLE="Running VM path">VM path name - %theData.PathName%</AMSHOWDIALOG>
<AMLOOP ACTIVITY="end" />
<!-- Power off virtual machine -->
<AMVMWAREVM ACTIVITY="poweroff_vm" SESSION="VMOpsSession1" VMPATH="F:\Virtual Machines\Windows 10 x86\Windows 10.vmx" TIMEOUT="3" OPENVMTIMEOUT="3" SOFT="YES" TOOLSTIMEOUT="3" />
<!-- Disconnect virtual machine connection / End session -->
<AMVMWAREVM ACTIVITY="disconnect" SESSION="VMOpsSession1" />