Set-SCCustomPlacementRule

Applies To: System Center 2012 - Virtual Machine Manager

Set-SCCustomPlacementRule

Modifes 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> ] [ <CommonParameters>]

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

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

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

Detailed Description

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

For more information about Set-SCCUstomPlacementRule, type: "Get-Help Set-SCCustomPlacementRule -online".

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?

true (ByValue)

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?

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

-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?

true (ByValue)

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?

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?

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.

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

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 stores the object in the $HostGroup variable.

The second command gets the placement configuration object for the host group stored in $HostGroup and places the object in the $PlacementConfig variable.

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

The last command modifes the custom placement rule for custom property Charge Code to be a Must Match rule

PS C:\> $HostGroup = Get-SCVMHostGroup "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

Add-SCCustomPlacementRule

Get-SCCustomPlacementRule

Remove-SCCustomPlacementRule