## PowerCLI Reference

# Get-VMHost

## Synopsis

This cmdlet retrieves the hosts on a vCenter Server system.

Syntax

Get-VMHost [[-Name] <String[]>] [-NoRecursion] [-Datastore <StorageResource[]>] [-State <VMHostState[]>] [-Location <VIContainer[]>] [-Tag <Tag[]>] [-Server <VIServer[]>] [<CommonParameters>]
Get-VMHost [[-Name] <String[]>] [-DistributedSwitch <DistributedSwitch[]>] [-Tag <Tag[]>] [-Server <VIServer[]>] [<CommonParameters>]
Get-VMHost [[-Name] <String[]>] [-NoRecursion] [-VM <VirtualMachine[]>] [-ResourcePool <ResourcePool[]>] [-Datastore <StorageResource[]>] [-Location <VIContainer[]>] [-Tag <Tag[]>] [-Server <VIServer[]>] [<CommonParameters>]
Get-VMHost [-Server <VIServer[]>] -Id <String[]> [<CommonParameters>]
Get-VMHost [-RelatedObject] <VMHostRelatedObjectBase[]> [<CommonParameters>]

Related Commands

Online version
Add-VMHost
Move-VMHost
Remove-VMHost
Restart-VMHost
Set-VMHost
Start-VMHost
Stop-VMHost
Suspend-VMHost

Detailed Description

This cmdlet retrieves the hosts on a vCenter Server system. Returns a set of hosts that correspond to the filter criteria provided by the cmdlet parameters. To specify a server different from the default one, use the Server parameter.
When working directly on an ESX host, the Name property of the returned VMHost object contains either the DNS name or the IP of the ESX host, depending on which of them was specified when connecting with Connect-VIServer.

Parameters

Name | Type | Description | Required? | Pipeline Input | Default Value
--- | --- | --- | --- | --- | ---
Name | String[] | Specifies the names of the hosts you want to retrieve. | false | false
RelatedObject | VMHostRelatedObjectBase[] | Specifies objects to retrieve one or more VMHost? objects that are related to them. This parameter accepts OMResource? objects. | true | true (ByValue)
Datastore | StorageResource[] | Specifies the datastores or datastore clusters to which the hosts that you want to retrieve are associated. Passing values to this parameter through a pipeline is deprecated and will be removed in a future release. | false | true (ByValue)
DistributedSwitch | DistributedSwitch[] | Filters the available hosts by the virtual switches they are connected to. | false | true (ByValue)
Id | String[] | Specifies the IDs of the hosts you want to retrieve. Note: When a list of values is specified for the Id parameter, the returned objects would have an ID that matches exactly one of the string values in that list. | true | false
Location | VIContainer[] | Specifies the vSphere container objects (such as folders, datacenters, and clusters) you want to search for hosts. | false | true (ByValue)
NoRecursion | SwitchParameter | Indicates that you want to disable the recursive behavior of the command. | false | false
ResourcePool | ResourcePool[] | Specifies resource pools associated with the hosts you want to retrieve. | false | false
Server | VIServer[] | Specifies the vCenter Server systems on which you want to run the cmdlet. If no value is passed to this parameter, the command runs on the default servers. For more information about default servers, see the description of Connect-VIServer. | false | false
State | VMHostState[] | Specifies the state of the hosts you want to retrieve. The valid values are Connected, Disconnected, NotResponding, and Maintenance. | false | false
Tag | Tag[] | Returns only the virtual machine hosts that are associated with any of the specified tags. | false | false
VM | VirtualMachine[] | Specifies virtual machines whose hosts you want to retrieve. | false | true (ByValue)

Return Type

Zero or more VMHost objects

Notes

When working directly on an ESX host, the Name property of the returned VMHost object contains either the DNS name or the IP of the ESX host, depending on which of them was specified when connecting with Connect-VIServer.

Examples

-------------- Example 1 --------------

    Get-VMHost -Location MyDatacenter

Retrieves all hosts in the specified datacenter.

-------------- Example 2 --------------

    $MyVM = Get-VM -Name MyVM
    Get-VMHost -VM $MyVM

Retrieves the host on which the specified virtual machine runs.

-------------- Example 3 --------------

    $myVDSwitch = Get-VDSwitch -Name "MyVDSwitch"
    Get-VMHost -DistributedSwitch $myVDSwitch

Retrieves all hosts associated with the specified vSphere distributed switch.

Copyright © VMware, Inc. All rights reserved.