共用方式為


New-CMRequirementRuleExpression

建立需求規則,以使用複雜表達式評估自定義全域條件。

語法

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

Description

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

若要使用表達式建立自定義全域條件,請使用 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 參數來指定連接器。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-AddExpression

指定要加入至新表達式的一或多個表達式物件。 使用這個相同的 Cmdlet 建立這些物件。 使用 RootExpression 參數來指定第一個表達式。

類型:ExpressionBase[]
別名:AddExpressions
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-AddRequirementRule

-ClauseOperator

指定要做為多個運算式之間連接器的邏輯運算元。

類型:ConnectOperator
接受的值:And, Or
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-DisableWildcardHandling

此參數會將通配符視為常值字元值。 您無法將其與 ForceWildcardHandling 結合。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ForceWildcardHandling

此參數會處理通配符,並可能導致非預期的行為 (不建議) 。 您無法將其與 DisableWildcardHandling 結合。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-GroupOperator

指定要做為群組間連接器的邏輯運算元。 使用此參數搭配 AddAsGroup 參數。

類型:ConnectOperator
接受的值:And, Or
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-RootExpression

使用這個參數指定第一個表達式。 使用這個相同的 Cmdlet 建立表達式物件。 若要新增多個表達式,也請使用 AddExpression 參數。

類型:ExpressionBase
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

None

輸出

System.Object