Set-SCHostReserve

Set-SCHostReserve

Modifies the host reserve settings for a host group.

Syntax

Parameter Set: FromCPUEnabled
Set-SCHostReserve -CPU -Enabled <Boolean> -HostReserve <HostReserveSettings> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromCPUPlacementLevel
Set-SCHostReserve -CPU -HostReserve <HostReserveSettings> -PlacementLevel <UInt64> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromCPUStartOptimizationLevel
Set-SCHostReserve -CPU -HostReserve <HostReserveSettings> -StartOptimizationLevel <UInt64> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromCPUVMHostReserveLevel
Set-SCHostReserve -CPU -HostReserve <HostReserveSettings> -VMHostReserveLevel <UInt64> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromDiskIOEnabled
Set-SCHostReserve -DiskIO -Enabled <Boolean> -HostReserve <HostReserveSettings> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromDiskIOIOPS
Set-SCHostReserve -DiskIO -HostReserve <HostReserveSettings> -IOPS [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromDiskIOPercent
Set-SCHostReserve -DiskIO -HostReserve <HostReserveSettings> -Percent [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromDiskIOPlacementLevel
Set-SCHostReserve -DiskIO -HostReserve <HostReserveSettings> -PlacementLevel <UInt64> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromDiskIOStartOptimizationLevel
Set-SCHostReserve -DiskIO -HostReserve <HostReserveSettings> -StartOptimizationLevel <UInt64> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromDiskIOVMHostReserveLevel
Set-SCHostReserve -DiskIO -HostReserve <HostReserveSettings> -VMHostReserveLevel <UInt64> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromDiskSpaceEnabled
Set-SCHostReserve -DiskSpace -Enabled <Boolean> -HostReserve <HostReserveSettings> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromDiskSpaceGB
Set-SCHostReserve -DiskSpace -GB -HostReserve <HostReserveSettings> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromDiskSpaceMB
Set-SCHostReserve -DiskSpace -HostReserve <HostReserveSettings> -MB [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromDiskSpacePercent
Set-SCHostReserve -DiskSpace -HostReserve <HostReserveSettings> -Percent [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromDiskSpacePlacementLevel
Set-SCHostReserve -DiskSpace -HostReserve <HostReserveSettings> -PlacementLevel <UInt64> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromDiskSpaceVMHostReserveLevel
Set-SCHostReserve -DiskSpace -HostReserve <HostReserveSettings> -VMHostReserveLevel <UInt64> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromMemoryEnabled
Set-SCHostReserve -Enabled <Boolean> -HostReserve <HostReserveSettings> -Memory [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromMemoryGB
Set-SCHostReserve -GB -HostReserve <HostReserveSettings> -Memory [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromMemoryMB
Set-SCHostReserve -HostReserve <HostReserveSettings> -MB -Memory [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromMemoryPercent
Set-SCHostReserve -HostReserve <HostReserveSettings> -Memory -Percent [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromMemoryPlacementLevel
Set-SCHostReserve -HostReserve <HostReserveSettings> -Memory -PlacementLevel <UInt64> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromMemoryStartOptimizationLevel
Set-SCHostReserve -HostReserve <HostReserveSettings> -Memory -StartOptimizationLevel <UInt64> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromMemoryVMHostReserveLevel
Set-SCHostReserve -HostReserve <HostReserveSettings> -Memory -VMHostReserveLevel <UInt64> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromNetworkEnabled
Set-SCHostReserve -Enabled <Boolean> -HostReserve <HostReserveSettings> -Network [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromNetworkMbps
Set-SCHostReserve -HostReserve <HostReserveSettings> -Mbps -Network [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromNetworkPercent
Set-SCHostReserve -HostReserve <HostReserveSettings> -Network -Percent [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromNetworkPlacementLevel
Set-SCHostReserve -HostReserve <HostReserveSettings> -Network -PlacementLevel <UInt64> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromNetworkStartOptimizationLevel
Set-SCHostReserve -HostReserve <HostReserveSettings> -Network -StartOptimizationLevel <UInt64> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: FromNetworkVMHostReserveLevel
Set-SCHostReserve -HostReserve <HostReserveSettings> -Network -VMHostReserveLevel <UInt64> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: ToInherit
Set-SCHostReserve -HostReserve <HostReserveSettings> -Inherit <Boolean> [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Set-SCHostReserve cmdlet modifies the host reserve settings for a host group. To modify the host reserve settings for a host group, that host group must not be inheriting its settings from a parent host group.

When you set the host reserve levels, the unit parameters, such as GB or Percent, dictate the units in which the other levels, such as StartOptimizationLevel and PlacementLevel, are expressed.

The values for VMHostReserveLevel, StartOptimizationLevel, and PlacementLevel must be represented in order. For example, the value for StartOptimizationLevel cannot be less than the value for VMHostReserveLevel, and the value for PlacementLevel cannot be less than the value for StartOptimizationLevel.

When the host has less than the specified amount for StartOptimizationLevel available, Dynamic Optimization will automatically try to rebalance the load.

A host will never be forced by Power Optimization to have less than the specified amount for PlacementLevel available because of another node being powered off.

Parameters

-CPU

Specifies a host reserve CPU resource type.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DiskIO

Specifies a host reserve Disk I/O resource type.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DiskSpace

Specifies a host reserve disk space resource type.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Enabled<Boolean>

Enables an object when set to $True, or disables an object when set to $False. For example, if you want to upgrade software on a virtual machine template, you can disable the template object in the VMM library to temporarily prevent users from using that object.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-GB

Indicates that the unit for a host reserve resource is expressed in gigabytes (GB).

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-HostReserve<HostReserveSettings>

Specifies a host reserve settings object.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-Inherit<Boolean>

Indicates whether settings are inherited from the parent host group.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IOPS

Indicates that the unit for a host reserve resource is expressed in disk input/output operations per second (IOPS).

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-JobVariable<String>

Specifies that job progress is tracked and stored in the variable named by this parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-MB

Indicates that the unit for a host reserve resource is expressed in megabytes (MB).

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Mbps

Indicates that the unit for a host reserve resource is expressed in megabits per second (Mbps).

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Memory

Specifies a host reserve memory resource type.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Network

Specifies a host reserve Network I/O resource type.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Percent

Indicates that the unit for a host reserve resource is expressed in percent (%).

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PlacementLevel<UInt64>

Specifies the host reserve level above which placement is acceptable.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-PROTipID<Guid]>

Specifies the ID of the PRO tip that triggered this action. This allows for auditing of PRO tips.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-RunAsynchronously

Indicates that the job runs asynchronously so that control returns to the command shell immediately.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-StartOptimizationLevel<UInt64>

Specifies the host reserve level at which dynamic optimization is started.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-VMHostReserveLevel<UInt64>

Specifies the host reserve level at which placement returns an error if starting a virtual machine would require dropping below this level.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-VMMServer<ServerConnection>

Specifies a VMM server object.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-Confirm

Prompts you for confirmation before running the cmdlet.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

Outputs

The output type is the type of the objects that the cmdlet emits.

  • HostReserve

Examples

Example 1: Modify the CPU host reserve and placement settings for a specified host group

The first command gets the host group object named HostGroup01, and then stores the object in the $HostGroup variable.

The second command gets the host reserve object for the host group stored in $HostGroup, and then stores the object in the $HostReserve variable.

The last command uses the pipeline operator to pass the host reserve stored in $HostReserve to the Set-SCHostReserve cmdlet. That cmdlet updates the host reserve and placement settings.

PS C:\> $HostGroup = Get-SCVMHostGroup -Name "HostGroup01"
PS C:\> $HostReserve = Get-SCHostReserve -VMHostGroup $HostGroup
PS C:\> $HostReserve | Set-SCHostReserve -CPU -PlacementLevel 75 -StartOptimizationLevel 80 -VMHostReserveLevel 90 

Get-SCHostReserve

Get-SCVMHostGroup