Поделиться через


New-CMRequirementRuleExpression

Создайте правило требований для оценки пользовательского глобального условия со сложным выражением.

Синтаксис

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

Описание

Используйте этот командлет, чтобы создать правило требований для типа развертывания приложения, которое оценивает пользовательское глобальное условие со сложным выражением. При создании глобального условия тип условия должен иметь значение Выражение. Эти выражения позволяют добавлять несколько предложений и группировать их с помощью логических операторов.

Чтобы создать пользовательское глобальное условие с выражением, используйте командлет New-CMGlobalConditionExpression .

После использования командлета New-CMRequirementRuleExpression используйте один из командлетов Add- или Set- для типов развертывания. Передайте этот объект правила требования в параметры AddRequirement или RemoveRequirement .

Дополнительные сведения см. в разделах Требования к типу развертывания и Создание глобальных условий.

Примечание.

Запустите командлеты Configuration Manager с диска сайта Configuration Manager, например 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
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-AddExpression

Укажите один или несколько объектов выражения для добавления в новое выражение. Создайте эти объекты с помощью этого же командлета. Используйте параметр RootExpression , чтобы указать первое выражение.

Тип:ExpressionBase[]
Aliases:AddExpressions
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-AddRequirementRule

Укажите массив объектов-требований для выражения. Чтобы создать объект правила требования, используйте один из следующих командлетов:

Тип:Rule[]
Aliases:AddRequirementRules
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ClauseOperator

Укажите логический оператор, который будет использоваться в качестве соединителя между несколькими выражениями.

Тип:ConnectOperator
Допустимые значения:And, Or
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DisableWildcardHandling

Этот параметр обрабатывает подстановочные знаки как литеральные символы. Вы не можете объединить его с ForceWildcardHandling.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ForceWildcardHandling

Этот параметр обрабатывает подстановочные знаки и может привести к непредвиденному поведению (не рекомендуется). Его нельзя объединить с DisableWildcardHandling.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-GroupOperator

Укажите логический оператор, который будет использоваться в качестве соединителя между группами. Используйте этот параметр с параметром AddAsGroup .

Тип:ConnectOperator
Допустимые значения:And, Or
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-RootExpression

Укажите первое выражение с помощью этого параметра. Создайте объект выражения с помощью этого же командлета. Чтобы добавить несколько выражений, также используйте параметр AddExpression .

Тип:ExpressionBase
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

None

Выходные данные

System.Object