## PowerCLI Reference

## vSphere Auto Deploy Reference

# New-DeployRule

## Synopsis

Creates a new rule.

Syntax

New-DeployRule [-Name] <String> -Pattern <String[]> -Item <VIObjectCore[]> [<CommonParameters>]^M
New-DeployRule [-Name] <String> -AllHosts -Item <VIObjectCore[]> [<CommonParameters>]

Related Commands

Add-DeployRule
Copy-DeployRule
Set-DeployRule

Detailed Description

Creates a new rule with the specified items and patterns. The items specify what should be associated with an ESXi host and the patterns specify which ESXi hosts the rule applies to. A rule on its own does not affect anything. The rule must first be added to the working rule se t in order to place it in context with the other rules in the system. Since multiple rules can match a single host, the rule set is used to rank the rules. Items in higher ranking rules are preferred over items in lower ranking rules. Only one item of a particular type will be associated with the host. For example, if two rules in a rule set have host profiles, only the profile in the higher ranking rule will be used. Alternatively, if one rule has a host profile and the other rule has an image profile, both rules will have an affect.^M
^M
You must have the "AutoDeploy.Rule.Create" privilege on the root folder of vCenter Server to use this cmdlet.

Parameters

Name | Type | Description | Required? | Pipeline Input | D efault Value
--- | --- | --- | --- | --- | ---
Name | String | Name of the new rule. | true | false |
AllHosts | SwitchParameter | Specify AllHosts to apply the new rule to all hosts managed by VMware Auto Deploy. Hosts are managed by VMware Auto Deplo y if the DHCP server directs them to the Auto Deploy TFTP configuration file. | true | false |
Item | VIObjectCore[] | Item the rule should apply to the hosts. Can be an image profile, a script bundle, a host profile, or a folder or cluster on the vCenter Server system to add the host to. | true | true (ByValue) |
Pattern | String[] | Set of hosts the new rule should apply to. ^M ^M Pattern strings use the following syntax: ^M ^M <attr>==<value> Adds a pattern that exactly matches the specified value against the specified attribute. Use this syntax if you need to match a string that contains a co mma.^M ^M <attr>=<Val1 >[,val2,... ,valN] Adds a pattern that matches against the comma-separated list of values. ^M ^M Supported value types are: ^M ^M string Exact string match^M <ip1>-<ip2> Range of IPv4 addresses. | true | false |

Return Type

VMware.DeployAutomation.Types.DeployRule

Notes

Examples

-------------- Example 1 --------------

    C:\PS> $rule = New-DeployRule -Name "defaultFolder" -Item "NewHosts" -AllHosts

Create a rule that places all hosts in the folder named "NewHosts".

-------------- Example 2 --------------

    C:\PS> $img = Get-ESXImageProfile -Name "My ESXi 5.0" C:\PS> $rule = New-DeployRule -Name "testrule" -Item $img -Pattern "vendor=Acme","vendor==VMware, Inc.","ipv4=192.168.1.10-192.168.1.20"

Create a rule that assigns the image profile named "My ESXi 5.0" to hosts that match a set of vendors and are in a particular IPv4 range.

-------------- Example 3 --------------

    C:\PS> $img = Get-ScriptBundle -Name "myscriptbundle" C:\PS> $rule = New-DeployRule -Name "testrule" -Item $img -Pattern "vendor=Acme","vendor==VMware, Inc.","ipv4=192.168.1.10-192.168.1.20"

Create a rule that assigns the scriptbundle named "myscriptbundle" to hosts that match a set of vendors and are in a particular IPv4 range.

Copyright © 1998 - 2011 VMware, Inc. All rights reserved.