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

指定 任务序列 变量 规则类型的 变量。 它要求您同时设置 ReferencedVariableOperatorReferencedVariableValue 参数。

此变量名称可以是内置任务序列变量或您创建的自定义名称。 有关详细信息,请参阅如何在 Configuration Manager 中使用任务序列变量

例如,如果您设置以下值:

  • ReferencedVariableNameOSDRegisteredOrgName
  • ReferencedVariableOperatorEquals
  • ReferencedVariableValueContoso

然后,它添加以下规则: IF OSDRegisteredOrgName equals "Contoso" THEN

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-ReferencedVariableOperator

指定 任务序列 变量 规则类型的 条件。 它要求您同时设置 ReferencedVariableNameReferencedVariableValue 参数。 有关可用运算符,请参阅此参数的接受值列表。

例如,如果您设置以下值:

  • ReferencedVariableNameOSDRegisteredOrgName
  • ReferencedVariableOperatorEquals
  • ReferencedVariableValueContoso

然后,它添加以下规则: 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

指定 "任务 序列变量 "规则类型的 "值"。 它要求您同时设置 ReferencedVariableNameReferencedVariableOperator 参数。

例如,如果您设置以下值:

  • ReferencedVariableNameOSDRegisteredOrgName
  • ReferencedVariableOperatorEquals
  • ReferencedVariableValueContoso

然后,它添加以下规则: 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