Freigeben über


New-CMRequirementRuleExpression

Erstellen Sie eine Anforderungsregel, um eine benutzerdefinierte globale Bedingung mit einem komplexen Ausdruck auszuwerten.

Syntax

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

Beschreibung

Verwenden Sie dieses Cmdlet, um eine Anforderungsregel für einen Anwendungsbereitstellungstyp zu erstellen, der eine benutzerdefinierte globale Bedingung mit einem komplexen Ausdruck auswertet. Wenn Sie eine globale Bedingung erstellen, muss der BedingungstypAusdruck sein. Mit diesen Ausdrücken können Sie mehrere Klauseln hinzufügen und mit logischen Operatoren gruppieren.

Verwenden Sie das Cmdlet New-CMGlobalConditionExpression , um eine benutzerdefinierte globale Bedingung mit einem Ausdruck zu erstellen.

Nachdem Sie das Cmdlet New-CMRequirementRuleExpression verwendet haben, verwenden Sie eines der Add- oder Set-Cmdlets für bereitstellungstypen. Übergeben Sie dieses Anforderungsregelobjekt entweder an die Parameter AddRequirement oder RemoveRequirement .

Weitere Informationen finden Sie unter Anforderungen für den Bereitstellungstyp und Erstellen globaler Bedingungen.

Hinweis

Führen Sie Configuration Manager-Cmdlets auf dem Configuration Manager-Standortlaufwerk aus, z. B PS XYZ:\>. . Weitere Informationen finden Sie unter Erste Schritte.

Beispiele

Beispiel 1: Hinzufügen eines einfachen Ausdrucks

$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

Beispiel 2: Hinzufügen eines komplexen globalen Bedingungsausdrucks

$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

Parameter

-AddAsGroup

Fügen Sie diesen Parameter hinzu, um die Ausdrücke als Gruppe hinzuzufügen. Geben Sie mehr als einen Ausdruck mit dem AddExpression-Parameter an. Verwenden Sie den GroupOperator-Parameter , um den Connector anzugeben.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-AddExpression

Geben Sie mindestens ein Ausdrucksobjekt an, das einem neuen Ausdruck hinzugefügt werden soll. Erstellen Sie diese Objekte mit demselben Cmdlet. Verwenden Sie den RootExpression-Parameter , um den ersten Ausdruck anzugeben.

Typ:ExpressionBase[]
Aliase:AddExpressions
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-AddRequirementRule

-ClauseOperator

Geben Sie den logischen Operator an, der als Connector zwischen mehreren Ausdrücken verwendet werden soll.

Typ:ConnectOperator
Zulässige Werte:And, Or
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DisableWildcardHandling

Dieser Parameter behandelt Wildcardzeichen als Literalzeichenwerte. Sie können es nicht mit ForceWildcardHandling kombinieren.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ForceWildcardHandling

Dieser Parameter verarbeitet Wildcardzeichen und kann zu unerwartetem Verhalten führen (nicht empfohlen). Sie können es nicht mit DisableWildcardHandling kombinieren.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-GroupOperator

Geben Sie den logischen Operator an, der als Connector zwischen Gruppen verwendet werden soll. Verwenden Sie diesen Parameter mit dem AddAsGroup-Parameter .

Typ:ConnectOperator
Zulässige Werte:And, Or
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-RootExpression

Geben Sie den ersten Ausdruck mit diesem Parameter an. Erstellen Sie mit demselben Cmdlet ein Ausdrucksobjekt. Um mehrere Ausdrücke hinzuzufügen, verwenden Sie auch den AddExpression-Parameter .

Typ:ExpressionBase
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

None

Ausgaben

System.Object