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:在 PE 中设置Windows目标
本示例创建以下规则:
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
为 计算机规则 类型指定 Asset 标记。 最大值为 255 个字符。
例如,如果将此值设置为 123456
,它将添加以下规则: IF Asset tag equals "123456" THEN
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
提示你在运行 cmdlet 之前进行确认。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultGateway
指定 位置规则 类型的 默认 网关。
例如,如果将此值设置为 192.168.10.1
,它将添加以下规则: IF Default gateway equals "192.168.10.1" THEN
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisableWildcardHandling
此参数将通配符视为文字字符值。 不能将其与 ForceWildcardHandling 结合使用。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ForceWildcardHandling
此参数处理通配符,并且可能会导致意外行为 (不建议) 。 不能将其与 DisableWildcardHandling 结合使用。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MacAddress
指定计算机规则****类型的MAC 地址。
例如,如果将此值设置为 00:11:22:33:44:55
,它将添加以下规则: IF MAC address equals "00:11:22:33:44:55" THEN
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Make
为 "Make" 和 "Model"规则类型指定 "Make"。 若要设置其他值,请使用 Model 参数。 如果两个值都为 true,则规则计算结果为 true。
可以使用通配符:
*
:多个字符?
:单个字符
例如,如果将此值设置为 ,并将 Surface
Model 设置为 *
,它将添加以下规则: IF Make equals "Surface" AND Model equals "*" THEN
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Model
指定 "Make" 和 "Model"规则类型的"模型 "。 若要设置其他值,请使用 Make 参数。 如果两个值都为 true,则规则计算结果为 true。
可以使用通配符:
*
:多个字符?
:单个字符
例如,如果将此值设置为 并将 *
Make 设置为 Surface
,则它将添加以下规则: IF Make equals "Surface" AND Model equals "*" THEN
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReferencedVariableName
指定 任务序列 变量 规则类型的 变量。 它要求您同时设置 ReferencedVariableOperator 和 ReferencedVariableValue 参数。
此变量名称可以是内置任务序列变量或您创建的自定义名称。 有关详细信息,请参阅如何在 Configuration Manager 中使用任务序列变量。
例如,如果您设置以下值:
- ReferencedVariableName:
OSDRegisteredOrgName
- ReferencedVariableOperator:
Equals
- ReferencedVariableValue:
Contoso
然后,它添加以下规则: IF OSDRegisteredOrgName equals "Contoso" THEN
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReferencedVariableOperator
指定 任务序列 变量 规则类型的 条件。 它要求您同时设置 ReferencedVariableName 和 ReferencedVariableValue 参数。 有关可用运算符,请参阅此参数的接受值列表。
例如,如果您设置以下值:
- ReferencedVariableName:
OSDRegisteredOrgName
- ReferencedVariableOperator:
Equals
- ReferencedVariableValue:
Contoso
然后,它添加以下规则: IF OSDRegisteredOrgName equals "Contoso" THEN
Type: | VariableOperatorType |
Accepted values: | Exists, NotExists, Equals, NotEquals, Greater, GreaterEqual, Less, LessEqual, Like, NotLike |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReferencedVariableValue
指定 "任务 序列变量 "规则类型的 "值"。 它要求您同时设置 ReferencedVariableName 和 ReferencedVariableOperator 参数。
例如,如果您设置以下值:
- ReferencedVariableName:
OSDRegisteredOrgName
- ReferencedVariableOperator:
Equals
- ReferencedVariableValue:
Contoso
然后,它添加以下规则: IF OSDRegisteredOrgName equals "Contoso" THEN
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SerialNumber
为计算机 规则 类型 指定序列号 。
例如,如果将此值设置为 123456
,它将添加以下规则: IF Asset tag equals "123456" THEN
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Uuid
为计算机规则类型指定 UUID。
例如,如果将此值设置为 de5ba380-f692-45e0-bbd3-0e40543b549e
,它将添加以下规则: IF UUID equals "de5ba380-f692-45e0-bbd3-0e40543b549e" THEN
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Variable
指定规则计算结果为 true 时该步骤应设置的现有或自定义任务序列变量和关联值。
例如,如果将此值设置为 @{'OSDDownloadDestinationLocationType' = 'TSCache'}
,它会在 规则后添加以下 THEN
变量: SET OSDDownloadDestinationLocationType = "TSCache"
若要在同一个哈希表中指定多个变量,请使用分号 () ;
分隔符。 例如:@{'OSDRegisteredUserName' = 'Contoso';'OSDRegisteredOrgName' = 'Contoso'}
Type: | Hashtable |
Aliases: | Variables |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
显示在 cmdlet 运行时发生的情况。 cmdlet 不运行。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输入
无
输出
IResultObject