SyntaxNew-DeployRule [-Name] <String> -Pattern <String> -Item <VIObjectCore> [<CommonParameters>]
Detailed DescriptionCreates 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 set 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.
|Name||Type||Description||Required?||Pipeline Input||Default 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 Deploy 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 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.
Pattern strings use the following syntax:
<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 comma.
<attr>=<Val1 >[,val2,... ,valN] Adds a pattern that matches against the comma-separated list of values.
Supported value types are:
string Exact string match
<ip1>-<ip2> Range of IPv4 addresses.
-------------- 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.