Freigeben über


New-CMRequirementRuleOperatingSystemValue

Erstellen Sie eine Betriebssystemanforderungsregel für einen Anwendungsbereitstellungstyp.

Syntax

New-CMRequirementRuleOperatingSystemValue
   [-Platform <IResultObject[]>]
   [-PlatformString <String[]>]
   -RuleOperator <RuleExpressionOperator>
   [-SelectFullPlatform <FullPlatformOption>]
   [-InputObject] <IResultObject>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [<CommonParameters>]

Beschreibung

Verwenden Sie dieses Cmdlet, um eine Betriebssystemanforderungsregel für einen Anwendungsbereitstellungstyp zu erstellen.

Nachdem Sie dieses Cmdlet 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 einer Anforderungsregel für ein Betriebssystem nach Plattform

In diesem Beispiel wird zunächst das Cmdlet Get-CMGlobalCondition verwendet, um die globale Standardbedingung des Betriebssystems für nicht mobile Windows-Geräte abzurufen. Anschließend wird das Cmdlet Get-CMConfigurationPlatform verwendet, um Variablen für zwei Plattformen für Windows Server 2016 und Windows Server 2019 zu definieren. Als Nächstes wird das Anforderungsregelobjekt erstellt, um diese beiden Plattformen einzuschließen. Schließlich wird dieses Regelobjekt an das Cmdlet Set-CMScriptDeploymentType übergeben, um die Anforderung hinzuzufügen.

$myGC = Get-CMGlobalCondition -Name "Operating System" | Where-Object PlatformType -eq 1

$platformA = Get-CMConfigurationPlatform -Name "All Windows Server 2019 and higher (64-bit)" -Fast

$platformB = Get-CMConfigurationPlatform -Name "All Windows Server 2016 and higher (64-bit)" -Fast

$myRule = $myGC | New-CMRequirementRuleOperatingSystemValue -RuleOperator OneOf -Platform $platformA, $platformB

Set-CMScriptDeploymentType -ApplicationName "Central App" -DeploymentTypeName "Install" -AddRequirement $myRule

Parameter

-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

-InputObject

Geben Sie ein globales Bedingungsobjekt an, das als Grundlage für diese Anforderungsregel verwendet werden soll. Verwenden Sie zum Abrufen dieses Objekts das Cmdlet Get-CMGlobalCondition .

In den meisten Fällen verwenden Sie die globale Standardbedingung betriebssystem für nicht mobile Windows-Geräte. Beispiel: Get-CMGlobalCondition -Name "Operating System" | Where-Object PlatformType -eq 1.

Hinweis

Standardmäßig verfügt Configuration Manager über zwei globale Bedingungen mit dem Namen Betriebssystem. Sie können sie anhand des Gerätetyps mithilfe der PlatformType-Eigenschaft unterscheiden:

PlatformType Gerätetyp
1 Windows
2 Mobil
Typ:IResultObject
Aliase:GlobalCondition
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Platform

Geben Sie ein Array von mindestens einem Betriebssystemplattformobjekt an. Verwenden Sie zum Abrufen dieses Objekts das Cmdlet Get-CMConfigurationPlatform .

Typ:IResultObject[]
Aliase:Platforms
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-PlatformString

Anstatt das Cmdlet Get-CMConfigurationPlatform mit dem Platform-Parameter zu verwenden, können Sie diesen Parameter verwenden, um ein Array mit einer oder mehreren bekannten ModelName-Zeichenfolgen anzugeben. Der ModelName für die Plattform Alle Windows 11 und höher (64-Bit) lautet Windows/All_x64_Windows_11_and_higher_Clientsbeispielsweise .

Verwenden Sie einen Befehl ähnlich dem folgenden, um den Modellnamen für eine Plattform zu ermitteln:

Get-CMConfigurationPlatform -Name "*Server 2019*" -Fast | Select-Object LocalizedDisplayName, ModelName

Typ:String[]
Aliase:PlatformStrings, PlatformCIUniqueID, PlatformCIUniqueIDs
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-RuleOperator

Geben Sie den Operator an, der die Einstellung des Geräts mit dem erwarteten Wert vergleichen soll.

Typ:RuleExpressionOperator
Zulässige Werte:OneOf, NoneOf
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SelectFullPlatform

Verwenden Sie diesen Parameter, um alle Plattformen des angegebenen Typs auszuwählen.

Typ:FullPlatformOption
Zulässige Werte:Windows, Nokia, WindowsMobile, IOs, IOsDeepLink, Android, AndroidDeepLink, Mac, WinPhone8, WinPhone8DeepLink, MobileMsi
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Ausgaben

System.Object