Get-VM

Gets the virtual machines from one or more Hyper-V hosts.

Syntax

Get-VM
   [[-Name] <String[]>]
   [-ComputerName <String[]>]
Get-VM
   [-ClusterObject] <PSObject>
Get-VM
   [[-Id] <Guid>]
   [-ComputerName <String[]>]

Description

The Get-VM cmdlet gets the virtual machines from one or more Hyper-V hosts.

Examples

Example 1

PS C:\>Get-VM

This example gets all virtual machines on the local virtual machine host.

Example 2

PS C:\>Get-VM -ComputerName Server1 | Where-Object {$_.State -eq 'Running'}

This example gets all virtual machines on Hyper-V host Server1 that are running.

Example 3

PS C:\>Get-ClusterGroup | ? {$_.GroupType -eq 'VirtualMachine' } | Get-VM

This example gets all virtual machines in the cluster to which the local Hyper-V host is joined.

Required Parameters

-ClusterObject

Specifies the cluster resource or cluster group of the virtual machine to be retrieved.

Type:PSObject
Position:1
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:False

Optional Parameters

-ComputerName

Specifies one or more Hyper-V hosts from which virtual machines are to be retrieved. NetBIOS names, IP addresses, and fully-qualified domain names are allowable. The default is the local computer - use "localhost" or a dot (".") to specify the local computer explicitly.

Type:String[]
Position:Named
Default value:.
Accept pipeline input:False
Accept wildcard characters:False
-Id

Specifies the identifier of the virtual machine to be retrieved.

Type:Guid
Position:1
Default value:None
Accept pipeline input:True (ByPropertyName, ByValue)
Accept wildcard characters:False
-Name

Specifies the name of the virtual machine to be retrieved.

Type:String[]
Position:1
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:True

Outputs

Microsoft.Virtualization.Powershell.VirtualMachine