New-CMTSRule
创建要添加到 “设置动态变量” 任务序列步骤的规则。
语法
New-CMTSRule
-Variable <Hashtable>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-CMTSRule
[-AssetTag <String>]
[-MacAddress <String>]
[-SerialNumber <String>]
[-Uuid <String>]
-Variable <Hashtable>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-CMTSRule
[-DefaultGateway <String>]
-Variable <Hashtable>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-CMTSRule
[-Make <String>]
[-Model <String>]
-Variable <Hashtable>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-CMTSRule
[-ReferencedVariableName <String>]
[-ReferencedVariableOperator <VariableOperatorType>]
[-ReferencedVariableValue <String>]
-Variable <Hashtable>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
使用此 cmdlet 创建添加到 “设置动态变量” 任务序列步骤的规则对象。 若要添加规则,请使用 New-CMTSStepSetDynamicVariable 或 Set-CMTSStepSetDynamicVariable cmdlet。 当任务序列运行此步骤时,它会按顺序评估动态规则和变量。 在评估特定设备上的规则时,它可以基于这些规则设置任务序列变量。
有四种类型的规则:
- 计算机:评估硬件资产标记、UUID、序列号或 MAC 地址的值。
- 位置:评估默认网络网关的值。
- Make 和 Model:评估计算机的制造和型号的值。
- 任务序列变量:添加要计算的任务序列变量、条件和值。
有关详细信息,请参阅 动态规则和变量。
注意
从 Configuration Manager 站点驱动器运行 Configuration Manager cmdlet,例如 PS XYZ:\>
。 有关详细信息,请参阅 入门。
示例
示例 1:在 Windows PE 中设置下载目标
此示例创建以下规则:
IF _SMSTSInWinPE equals "TRUE" THEN SET OSDDownloadDestinationLocationType = "TSCache"
然后,它将此规则添加到任务序列中此步骤的现有实例。
$tsrule = New-CMTSRule -Variable @{'OSDDownloadDestinationLocationType' = 'TSCache'} -ReferencedVariableName "_SMSTSInWinPE" -ReferencedVariableOperator equals -ReferencedVariableValue TRUE
$tsname = "Default IPU"
$tsstep = "Set Dynamic Variables"
Set-CMTSStepSetDynamicVariable -TaskSequenceName $tsname -StepName $tsstep -AddRule $tsrule
参数
-AssetTag
为计算机规则类型指定资产标记。 最大值为 255 个字符。
例如,如果将此值设置为 123456
,则会添加以下规则: IF Asset tag equals "123456" THEN
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Confirm
提示你在运行 cmdlet 之前进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DefaultGateway
为“位置”规则类型指定“默认网关”。
例如,如果将此值设置为 192.168.10.1
,则会添加以下规则: IF Default gateway equals "192.168.10.1" THEN
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DisableWildcardHandling
此参数将通配符视为文本字符值。 不能将其与 ForceWildcardHandling 组合使用。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ForceWildcardHandling
此参数处理通配符,并可能导致意外行为, (不建议) 。 不能将其与 DisableWildcardHandling 组合使用。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-MacAddress
指定计算机规则类型的 MAC 地址。
例如,如果将此值设置为 00:11:22:33:44:55
,则会添加以下规则: IF MAC address equals "00:11:22:33:44:55" THEN
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Make
为“制造”和“模型”规则类型指定“制造”。 若要设置其他值,请使用 Model 参数。 当两个值都为 true 时,规则的计算结果为 true。
可以使用通配符:
-
*
:多个字符 -
?
:单个字符
例如,如果将此值设置为 Surface
,将 模型 设置为 *
,则会添加以下规则: IF Make equals "Surface" AND Model equals "*" THEN
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Model
为 “制造” 和“模型”规则类型指定 “模型 ”。 若要设置其他值,请使用 Make 参数。 当两个值都为 true 时,规则的计算结果为 true。
可以使用通配符:
-
*
:多个字符 -
?
:单个字符
例如,如果将此值设置为 *
,并将 Make 设置为 Surface
,则会添加以下规则: IF Make equals "Surface" AND Model equals "*" THEN
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ReferencedVariableName
为任务序列 变量 规则类型指定 变量 。 它还要求设置 ReferencedVariableOperator 和 ReferencedVariableValue 参数。
此变量名称可以是内置任务序列变量,也可以是创建的自定义变量。 有关详细信息,请参阅 如何在 Configuration Manager 中使用任务序列变量。
例如,如果设置以下值:
-
ReferencedVariableName:
OSDRegisteredOrgName
-
ReferencedVariableOperator:
Equals
-
ReferencedVariableValue:
Contoso
然后,它添加以下规则: IF OSDRegisteredOrgName equals "Contoso" THEN
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ReferencedVariableOperator
为任务序列变量规则类型指定条件。 它还要求设置 ReferencedVariableName 和 ReferencedVariableValue 参数。 有关可用运算符,请参阅此参数的接受值列表。
例如,如果设置以下值:
-
ReferencedVariableName:
OSDRegisteredOrgName
-
ReferencedVariableOperator:
Equals
-
ReferencedVariableValue:
Contoso
然后,它添加以下规则: IF OSDRegisteredOrgName equals "Contoso" THEN
类型: | VariableOperatorType |
接受的值: | Exists, NotExists, Equals, NotEquals, Greater, GreaterEqual, Less, LessEqual, Like, NotLike |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ReferencedVariableValue
为任务序列变量规则类型指定值。 它还要求设置 ReferencedVariableName 和 ReferencedVariableOperator 参数。
例如,如果设置以下值:
-
ReferencedVariableName:
OSDRegisteredOrgName
-
ReferencedVariableOperator:
Equals
-
ReferencedVariableValue:
Contoso
然后,它添加以下规则: IF OSDRegisteredOrgName equals "Contoso" THEN
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SerialNumber
为计算机规则类型指定序列号。
例如,如果将此值设置为 123456
,则会添加以下规则: IF Asset tag equals "123456" THEN
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Uuid
为计算机规则类型指定 UUID。
例如,如果将此值设置为 de5ba380-f692-45e0-bbd3-0e40543b549e
,则会添加以下规则: IF UUID equals "de5ba380-f692-45e0-bbd3-0e40543b549e" THEN
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Variable
指定规则计算结果为 true 时步骤应设置的现有或自定义任务序列变量和关联值。
例如,如果将此值设置为 @{'OSDDownloadDestinationLocationType' = 'TSCache'}
,则会在规则的 后面 THEN
添加以下变量: SET OSDDownloadDestinationLocationType = "TSCache"
若要在同一哈希表中指定多个变量,请使用分号 (;
) 分隔符。 例如:@{'OSDRegisteredUserName' = 'Contoso';'OSDRegisteredOrgName' = 'Contoso'}
类型: | Hashtable |
别名: | Variables |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-WhatIf
显示在 cmdlet 运行时发生的情况。 cmdlet 不会运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
None
输出
IResultObject