PowerCLI Reference



This cmdlet applies a host profile to the specified host or cluster.


Invoke-VMHostProfile [-Entity] <InventoryItem[]> [-Profile <VMHostProfile>] [-Variable <Hashtable>] [-AssociateOnly] [-ApplyOnly] [-RunAsync] [-Server <VIServer[]>] [-WhatIf] [-Confirm] [<CommonParameters>]

Related Commands

Online version

Detailed Description

This cmdlet applies a host profile to the specified host or cluster. The host or cluster must be in a maintenance mode. If no value is provided to the Profile parameter, the profile currently associated with the host or cluster is applied.


NameTypeDescriptionRequired?Pipeline InputDefault Value
EntityInventoryItem[]Specifies hosts or clusters to which you want to apply the virtual machine host profile.truetrue (ByValue)
ApplyOnlySwitchParameterIndicates whether to apply the host profile to the specified virtual machine host without associating it.falsefalse
AssociateOnlySwitchParameterIndicates whether to associate the host profile to the specified host or cluster without applying it.falsefalse
ConfirmSwitchParameterIf 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.falsefalse
ProfileVMHostProfileSpecifies the host profile you want to apply.falsetrue (ByValue)
RunAsyncSwitchParameterIndicates 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.falsefalse
ServerVIServer[]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.falsefalse
VariableHashtableSpecifies a hash table object that provides values for the host profile required variables.falsetrue (ByValue)
WhatIfSwitchParameterIndicates that the cmdlet is run only to display the changes that would be made and actually no objects are modified.falsefalse

Return Type

Zero or more VMHost or Cluster or System.Collections.Hashtable


If there are missing values for the required variables, a hash table with the names of the required variables and the current or default values is returned. Otherwise, all directly affected host and cluster objects are returned. If the cmdlet is run for a cluster with the AssociateOnly parameter set, only the cluster object is returned, but not its hosts.


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

Invoke-VMHostProfile -AssociateOnly -Entity $cluster -Profile $profile

Associates the specified profile to all hosts in the specified cluster.

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

Invoke-VMHostProfile -Entity $vmhost -Profile $profile

Associates and applies the specified profile to the specified host.

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

Get-VMHost | Invoke-VMHostProfile -ApplyOnly -Profile $profile

Applies the specified profile to all specified hosts.

-------------- Example 4 --------------

Get-VMHost | Invoke-VMHostProfile -AssociateOnly -profile $profile

Associates the specified profile to all specified hosts.

-------------- Example 5 --------------

Invoke-VMHostProfile $vmhost

Applies the associated host's profile to the host.

-------------- Example 6 --------------

$requireInput = Invoke-VMHostProfile $vmhost -Profile $profile;

$requireInput['network.hostPortGroup["key-vim-profile-host-HostPortgroupProfile-VMkernel"].ipConfig.IpAddressPolicy.address'] = '';

$requireInput['network.hostPortGroup["key-vim-profile-host-HostPortgroupProfile-VMkernel"].ipConfig.IpAddressPolicy.subnetmask'] = '';

Invoke-VMHostProfile $vmhost -Profile $profile -Variable $requireInput;

Applies a profile to host but first assigns values to all required values.

Copyright © VMware, Inc. All rights reserved.