Syntax
Set-VMHost [[-State] <VMHostState>] [-VMHost] <VMHost[]> [-Evacuate] [-LicenseKey <String>] [-Profile <VMHostProfile>] [-RunAsync] [-Server <VIServer[]>] [-TimeZone <VMHostTimeZone>] [-VMSwapfileDatastore <Datastore>] [-VMSwapfilePolicy <VMSwapfilePolicy>] [-VsanDataMigrationMode <VsanDataMigrationMode>] [-Confirm] [-WhatIf] [<CommonParameters>]Related Commands
Online VersionDetailed Description
This cmdlet modifies the configuration of the host.Parameters
Name | Type | Description | Required? | Pipeline Input | Default Value |
---|---|---|---|---|---|
State | VMHostState | Specifies the state of the host. The valid values are Connected, Disconnected, and Maintenance. If there are powered on virtual machines on the host, you can set the host into a maintenance mode, only if it is a part of a DRS-enabled cluster. Before entering maintenance mode, if the host is fully automated, the cmdlet relocates all powered on virtual machines. If the host is not automated or partially automated, you must first generate a DRS recommendation and wait until all powered on virtual machines are relocated or powered off. In this case, you must specify the RunAsync parameter, otherwise an error is thrown. | false | False | |
VMHost | VMHost[] | Specifies the host you want to configure. | true | True (ByValue) | |
Confirm | SwitchParameter | If the value is $true, indicates that the cmdlet asks for confirmation before running. If the value is $false, the cmdlet runs without asking for user confirmation. | false | False | |
Evacuate | SwitchParameter | If the value is $true, vCenter Server system automatically reregisters the virtual machines that are compatible for reregistration. If they are not compatible, they remain on the host. If there are powered on virtual machines that cannot be reregistered, the operation waits until they are powered off manually. The Evacuate parameter is valid only when connected to a vCenter Server system and the State parameter is set to Maintenance. Also, the virtual machine host must be in a DRS-enabled cluster. | false | False | |
KmsCluster | KmsCluster | Specifies the KmsCluster which will be used to generate a key to set the host. | true | False | |
LicenseKey | String | Specifies the license key to be used by the host. You can set the host to evaluation mode by passing the 00000-00000-00000-00000-00000 evaluation key. | false | False | |
Profile | VMHostProfile | Specifies a host profile you want to associate with the host. If the value of this parameter is $null, the current profile association is removed. | false | False | |
RunAsync | SwitchParameter | Indicates that the command returns immediately without waiting for the task to complete. In this mode, the output of the cmdlet is a Task object. For more information about the RunAsync parameter, run "help About_RunAsync" in the VMware PowerCLI console. | false | False | |
Server | VIServer[] | Specifies the vCenter Server systems on which you want to run the cmdlet. If no value is given to this parameter, the command runs on the default servers. For more information about default servers, see the description of the Connect-VIServer cmdlet. | false | False | |
TimeZone | VMHostTimeZone | Specifies the time zone for the host by using its name or by providing the corresponding time zone object. Time zone names support wildcards. If the wildcards match more than one time zones, an error is reported. Time zone objects can only be applied to the hosts they originate from. | false | False | |
VMSwapfileDatastore | Datastore | Specifies a datastore that is visible to the host and can be used for storing swapfiles for the virtual machines that run on this host. Using a host-specific swap location might degrade the VMotion performance. | false | False | |
VMSwapfilePolicy | VMSwapfilePolicy | Specifies the swapfile placement policy. The following values are valid:
InHostDataStore - Stores the swapfile in the datastore specified by the VMSwapfileDatastoreID property of the virtual machine host. If the VMSwapfileDatastoreID property is not set or indicates a datastore with insufficient free space, the swapfile is stored in the same directory as the virtual machine. This setting might degrade the VMotion performance. WithVM - Stores the swapfile in the same directory as the virtual machine. | false | False | |
VsanDataMigrationMode | VsanDataMigrationMode | Specifies the special action to take regarding Virtual SAN data when moving in maintenance mode. The VsanDataMigrationMode parameter is valid only when connected to a vCenter Server system and when State parameter is set to VMHostState.Maintenance. | false | False | |
WhatIf | SwitchParameter | Indicates that the cmdlet is run only to display the changes that would be made and actually no objects are modified. | false | False |
Return Type
Zero or more modified VMHost objectsNotes
The TimeZone parameter is supported only on ESX 4.1/vCenter Server 4.1, and later. The Evacuate parameter is valid only when connected to a vCenter Server system and the host is a part of a DRS-enabled cluster. The VsanDataMigrationMode parameter is valid only when connected to a vCenter Server system and when State parameter is set to VMHostState.Maintenance.Examples
-------------------------- Example 1 --------------------------
Set-VMHost -VMHost Host -State "Disconnected"
Resets the state of the Host virtual host to disconnected.
-------------------------- Example 2 --------------------------
$cluster = Get-Cluster -VMHost Host $task = Set-VMHost -VMHost Host -State "Maintenance" -RunAsync Get-DrsRecommendation -Cluster $cluster | where {$_.Reason -eq "Host is entering maintenance mode"} | Apply-DrsRecommendation $vmhost = Wait-Task $task
Activate a maintenance mode for a not automated host that is part of a DRS-enabled cluster and has powered on virtual machines on it.
-------------------------- Example 3 --------------------------
$kmsCluster = Get-KmsCluster | select -First 1 Set-VMHost -VMHost Host -KmsCluster $kmsCluster
Resets the cryptokey of the VMHost named 'Host'.