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-Websitelaufwerk aus, z. PS XYZ:\>B. . 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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForceWildcardHandling

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 weist Configuration Manager zwei globale Bedingungen mit dem Namen Betriebssystem auf. Sie können sie anhand des Gerätetyps mithilfe der PlatformType-Eigenschaft unterscheiden:

PlatformType Gerätetyp
1 Windows
2 Mobil
Type:IResultObject
Aliases:GlobalCondition
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Platform

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

Type:IResultObject[]
Aliases:Platforms
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 All Windows 11 und höher (64-Bit) ist 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

Type:String[]
Aliases:PlatformStrings, PlatformCIUniqueID, PlatformCIUniqueIDs
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RuleOperator

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

Type:RuleExpressionOperator
Accepted values:OneOf, NoneOf
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-SelectFullPlatform

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

Type:FullPlatformOption
Accepted values:Windows, Nokia, WindowsMobile, IOs, IOsDeepLink, Android, AndroidDeepLink, Mac, WinPhone8, WinPhone8DeepLink, MobileMsi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Ausgaben

System.Object