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
Geben Sie ein Array von Anforderungsobjekten für den Ausdruck an. Verwenden Sie zum Erstellen eines Anforderungsregelobjekts eines der folgenden Cmdlets:
- 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
Typ: | Rule[] |
Aliase: | AddRequirementRules |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-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
Ähnliche Themen
- 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
- Anforderungen für Bereitstellungstypen
- Globale Bedingungen erstellen