Set-SCCustomPlacementRule

Set-SCCustomPlacementRule

Modifies a custom placement rule in the placement configuration of a host group.

Syntax

Parameter Set: MustMatch
Set-SCCustomPlacementRule -CustomPlacementRule <CustomPlacementRule> -MustMatch [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: MustNotMatch
Set-SCCustomPlacementRule -CustomPlacementRule <CustomPlacementRule> -MustNotMatch [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: ShouldMatch
Set-SCCustomPlacementRule -CustomPlacementRule <CustomPlacementRule> -ShouldMatch [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: ShouldNotMatch
Set-SCCustomPlacementRule -CustomPlacementRule <CustomPlacementRule> -ShouldNotMatch [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-VMMServer <ServerConnection> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Set-SCCustomPlacementRule cmdlet modifies an existing custom placement rule in the placement configuration for a host group.

Parameters

-CustomPlacementRule<CustomPlacementRule>

Specifies a custom placement rule object.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

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

-MustMatch

Indicates that the property value of the virtual machine must match the host.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-MustNotMatch

Indicates that the property value of the virtual machine must not match the host.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PROTipID<Guid]>

Specifies the ID of the Performance and Resource Optimization tip (PRO tip) that triggered this action. This parameter lets you audit 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

-ShouldMatch

Indicates that the property value of the virtual machine should match the host.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ShouldNotMatch

Indicates that the property value of the virtual machine should not match the host.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VMMServer<ServerConnection>

Specifies a VMM server object.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

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.

Examples

Example 1: Modify an existing custom placement rule in the placement configuration for a 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 placement configuration object for the host group stored in $HostGroup, and then places the object in the $PlacementConfig variable.

The third command gets the custom placement rule object named Charge Code, and then stores the object in the $CPRule variable.

The last command modifies the custom placement rule for custom property Charge Code to be a MustMatch rule.

PS C:\> $HostGroup = Get-SCVMHostGroup -Name "HostGroup01"
PS C:\> $PlacementConfig = Get-SCPlacementConfiguration -VMHostGroup $HostGroup
PS C:\> $CPRule = Get-SCCustomPlacementRule -PlacementConfiguration $PlacementConfig | where {$_.CustomPropertyName -eq "Charge Code"}
PS C:\> Set-SCCustomPlacementRule -MustMatch -CustomPlacementRule $CPRule

Get-SCCustomPlacementRule

Remove-SCCustomPlacementRule

Get-SCPlacementConfiguration

Get-SCVMHostGroup

Where-Object