Get-VM

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

Syntax

Get-VM
   [[-Name] <String[]>]
   [-CimSession <CimSession[]>]
   [-ComputerName <String[]>]
   [-Credential <PSCredential[]>]
   [<CommonParameters>]
Get-VM
   [-CimSession <CimSession[]>]
   [-ComputerName <String[]>]
   [-Credential <PSCredential[]>]
   [[-Id] <Guid>]
   [<CommonParameters>]
Get-VM
   [-ClusterObject] <PSObject>
   [<CommonParameters>]

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: 0
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

Optional Parameters

-CimSession

Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.

Type: CimSession[]
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-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: None
Accept pipeline input: False
Accept wildcard characters: True
-Credential

Specifies one or more user accounts that have permission to perform this action. The default is the current user.

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

Specifies the identifier of the virtual machine to be retrieved.

Type: Guid
Position: 0
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[]
Aliases: VMName
Position: 0
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: True

Outputs

Microsoft.HyperV.PowerShell.VirtualMachine