New-CMRequirementRuleExpression

创建要求规则以使用复杂表达式评估自定义全局条件。

语法

New-CMRequirementRuleExpression
   [-AddAsGroup]
   [-AddExpression <ExpressionBase[]>]
   [-AddRequirementRule <Rule[]>]
   [-ClauseOperator <ConnectOperator>]
   [-GroupOperator <ConnectOperator>]
   [-RootExpression <ExpressionBase>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]

说明

使用此 cmdlet 在评估具有复杂表达式的自定义全局条件的应用程序部署类型上创建要求规则。 创建全局条件时, 条件类型 需要为 表达式。 这些表达式让你可以添加多个子句,然后用逻辑运算符将它们分组。

若要使用表达式创建自定义全局条件,请使用 New-CMGlobalConditionExpression cmdlet。

使用 New-CMRequirementRuleExpression cmdlet 后,对部署类型使用 Add-Set- cmdlet 之一。 将此要求规则对象传递给 AddRequirementRemoveRequirement 参数。

有关详细信息,请参阅部署类型 要求创建全局条件

备注

从 Configuration Manager 站点驱动器运行 Configuration Manager cmdlet,例如 PS XYZ:\> 。 有关详细信息,请参阅 入门

示例

示例 1:添加基本表达式

$rule1 = Get-CMGlobalCondition -Name "Total physical memory" | New-CMRequirementRuleCommonValue -Value1 2048 -RuleOperator GreaterEquals
$myRuleExpression = New-CMRequirementRuleExpression -AddRequirementRule $rule1
$myGC = New-CMGlobalConditionExpression -Name "GCExp" -DeviceType Windows -RootExpression $myRuleExpression

示例 2:添加复杂的全局条件表达式

$ruleProc = Get-CMGlobalCondition -Name "Number of processors" | New-CMRequirementRuleCommonValue -Value1 2 -RuleOperator GreaterEquals
$ruleMem1 = Get-CMGlobalCondition -Name "Total physical memory" | New-CMRequirementRuleCommonValue -Value1 2048 -RuleOperator GreaterThan
$ruleMem2 = Get-CMGlobalCondition -Name "Total physical memory" | New-CMRequirementRuleCommonValue -Value1 4096 -RuleOperator LessEquals
$ruleCPUSpeed1 = Get-CMGlobalCondition -Name "CPU Speed" | New-CMRequirementRuleCommonValue -Value1 5120 -RuleOperator LessEquals
$ruleCPUSpeed2 = Get-CMGlobalCondition -Name "CPU Speed" | New-CMRequirementRuleCommonValue -Value1 1024 -RuleOperator GreaterThan
$expressionProc = New-CMRequirementRuleExpression -AddRequirementRule $ruleProc
$expressionMem = New-CMRequirementRuleExpression -AddRequirementRule $ruleMem1, $ruleMem2 -ClauseOperator And
$expressionCPU = New-CMRequirementRuleExpression -AddRequirementRule $ruleCPUSpeed1, $ruleCPUSpeed2 -ClauseOperator And
$myRuleExpression = New-CMRequirementRuleExpression -RootExpression $expressionProc -AddExpression $expressionMem,$expressionCPU -ClauseOperator And -AddAsGroup -GroupOperator Or
$myGC = New-CMGlobalConditionExpression -Name "GCExp" -DeviceType Windows -RootExpression $myRuleExpression

参数

-AddAsGroup

添加此参数以将表达式添加为组。 使用 AddExpression 参数指定多个表达式。 使用 GroupOperator 参数指定连接器。

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

-AddExpression

指定要添加到新表达式中的一个或多个表达式对象。 使用同一 cmdlet 创建这些对象。 使用 RootExpression 参数指定第一个表达式。

Type:ExpressionBase[]
Aliases:AddExpressions
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-AddRequirementRule

-ClauseOperator

指定要用作多个表达式之间的连接符的逻辑运算符。

Type:ConnectOperator
Accepted values:And, Or
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

-GroupOperator

指定要用作组之间的连接符的逻辑运算符。 将此参数与 AddAsGroup 参数 一同使用。

Type:ConnectOperator
Accepted values:And, Or
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-RootExpression

指定具有此参数的第一个表达式。 使用同一 cmdlet 创建表达式对象。 若要添加多个表达式,请使用 AddExpression 参数。

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

输入

输出

System.Object