New-CMRequirementRuleExpression

建立需求規則,以利用複雜的運算式評估自訂的全域條件。

Syntax

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

Description

使用此 Cmdlet,在應用程式部署類型上建立需求規則,以複雜的運算式評估自訂的全域條件。 當您建立全域條件時, 條件類型 必須為 Expression。 這些運算式可讓您新增多個子句,並使用邏輯運算子將它們群組。

若要使用運算式建立自訂通用條件,請使用 CMGlobalConditionExpression Cmdlet。

使用 CMRequirementRuleExpression Cmdlet 後,請使用其中一個 載入設定 Cmdlet 進行部署類型。 將此要求 rule 物件傳遞至 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

指定要新增至新運算式的一或多個 expression 物件。 使用相同的 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 建立 expression 物件。 若要新增一個以上的運算式,也請使用 AddExpression 參數。

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

輸入

輸出

系統.物件