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。 将此要求规则对象传递给 AddRequirement 或 RemoveRequirement 参数。
注意
从 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
为表达式指定要求对象的数组。 若要创建要求规则对象,请使用以下 cmdlet 之一:
- New-CMRequirementRuleActiveDirectorySiteValue
- New-CMRequirementRuleBooleanValue
- New-CMRequirementRuleCMSiteValue
- New-CMRequirementRuleCommonValue
- New-CMRequirementRuleDeviceOwnershipValue
- New-CMRequirementRuleExistential
- New-CMRequirementRuleExpression
- New-CMRequirementRuleFileAttributeValue
- New-CMRequirementRuleFilePermissionValue
- New-CMRequirementRuleFreeDiskSpaceValue
- New-CMRequirementRuleInputTypeValue
- New-CMRequirementRuleOperatingSystemLanguageValue
- New-CMRequirementRuleOperatingSystemValue
- New-CMRequirementRuleOUValue
- New-CMRequirementRuleRegistryKeyPermissionValue
- New-CMRequirementRuleScreenResolutionValue
类型: | Rule[] |
别名: | AddRequirementRules |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-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
相关链接
- New-CMRequirementRuleActiveDirectorySiteValue
- New-CMRequirementRuleBooleanValue
- New-CMRequirementRuleCMSiteValue
- New-CMRequirementRuleCommonValue
- New-CMRequirementRuleDeviceOwnershipValue
- New-CMRequirementRuleExistential
- New-CMRequirementRuleFileAttributeValue
- New-CMRequirementRuleFilePermissionValue
- New-CMRequirementRuleFreeDiskSpaceValue
- New-CMRequirementRuleInputTypeValue
- New-CMRequirementRuleOperatingSystemLanguageValue
- New-CMRequirementRuleOperatingSystemValue
- New-CMRequirementRuleOUValue
- New-CMRequirementRuleRegistryKeyPermissionValue
- New-CMRequirementRuleScreenResolutionValue
- Get-CMGlobalCondition
- New-CMGlobalConditionExpression
- 部署类型要求
- 创建全局条件