## PowerCLI Reference

# Invoke-VMHostProfile

## Synopsis

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

Syntax

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

Related Commands

Online version
Export-VMHostProfile
Get-VMHostProfile
Import-VMHostProfile
New-VMHostProfile
Remove-VMHostProfile
Set-VMHostProfile
Test-VMHostProfileCompliance

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.

Parameters

Name | Type | Description | Required? | Pipeline Input | Default Value
--- | --- | --- | --- | --- | ---
Entity | InventoryItem[] | Specifies hosts or clusters to which you want to apply the virtual machine host profile. | true | true (ByValue)
ApplyOnly | SwitchParameter | Indicates whether to apply the host profile to the specified virtual machine host without associating it. | false | false
AssociateOnly | SwitchParameter | Indicates whether to associate the host profile to the specified host or cluster without applying it. | false | false
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
Profile | VMHostProfile | Specifies the host profile you want to apply. | false | true (ByValue)
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 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
Variable | Hashtable | Specifies a hash table object that provides values for the host profile required variables. | false | true (ByValue)
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 VMHost or Cluster or System.Collections.Hashtable

Notes

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.

Examples

-------------- 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'] = '192.168.0.1';

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

    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.