Add-SCCustomPlacementRule

Add-SCCustomPlacementRule

Adds a custom placement rule to the placement configuration for a host group.

Syntax

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

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

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

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

Detailed Description

The Add-SCCustomPlacementRule cmdlet adds a custom placement rule to the placement configuration for a host group.

Parameters

-CustomPropertyName<String>

Specifies the name for a custom property.

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

-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

-PlacementConfiguration<PlacementConfigurationSettings>

Specifies a placement configuration object.

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

  • CustomPlacementRule

Examples

Example 1: Add a new custom placement rule to a 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 property object named Cost Center, and then stores the object in the $CustomProp variable.

The last command adds a custom placement rule to the placement configuration stored in $PlacementConfig.

PS C:\> $HostGroup = Get-SCVMHostGroup -Name "HostGroup01"
PS C:\> $PlacementConfig = Get-SCPlacementConfiguration -VMHostGroup $HostGroup
PS C:\> $CustomProp = Get-SCCustomProperty -Name "Cost Center"
PS C:\> Add-SCCustomPlacementRule -PlacementConfiguration $PlacementConfig -MustMatch -CustomProperty $CustomProp

Get-SCCustomPlacementRule

Remove-SCCustomPlacementRule

Set-SCCustomPlacementRule

Get-SCVMHostGroup

Get-SCPlacementConfiguration

Get-SCCustomProperty