New-CMRequirementRuleOperatingSystemValue

建立應用程式部署類型的 OS 需求規則。

Syntax

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

Description

使用此 Cmdlet 建立應用程式部署類型的 OS 需求規則。

使用此 Cmdlet 之後,請針對部署類型使用其中一個 Add-Set- Cmdlet。 將此需求規則物件傳遞至 AddRequirementRemoveRequirement 參數。

如需詳細資訊,請 參閱部署類型需求建立全域條件

注意事項

從Configuration Manager月臺磁片磁碟機執行 Configuration Manager Cmdlet,例如 PS XYZ:\> 。 如需詳細資訊,請 參閱開始使用

範例

範例 1:依平臺新增 OS 的需求規則

此範例會先使用 Get-CMGlobalCondition Cmdlet 來取得非行動 Windows 裝置的預設 作業系統 全域條件。 然後,它會使用Get-CMConfigurationPlatform Cmdlet 來定義適用于 Windows Server 2016 和 Windows Server 2019 兩個平臺的變數。 接下來,它會建立需求規則物件,以包含這兩個平臺。 最後,它會將該規則物件傳遞至 Set-CMScriptDeploymentType Cmdlet 以新增需求。

$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

參數

-DisableWildcardHandling

此參數會將萬用字元視為常值字元值。 您無法將其與 ForceWildcardHandling結合。

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

-ForceWildcardHandling

此參數會處理萬用字元,並可能導致非預期的行為 (不建議) 。 您無法將其與 DisableWildcardHandling結合。

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

-InputObject

指定要作為此需求規則基礎的全域條件物件。 若要取得此物件,請使用 Get-CMGlobalCondition Cmdlet

在大部分情況下,您會使用非行動 Windows 裝置的預設 作業系統 全域條件。 例如:Get-CMGlobalCondition -Name "Operating System" | Where-Object PlatformType -eq 1

注意事項

根據預設,Configuration Manager有兩個名為作業系統的全域條件。 您可以使用 PlatformType 屬性,依裝置類型加以區別:

PlatformType 裝置類型
1 Windows
2 行動裝置
Type:IResultObject
Aliases:GlobalCondition
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Platform

指定一或多個 OS 平臺物件的陣列。 若要取得此物件,請使用 Get-CMConfigurationPlatform Cmdlet。

Type:IResultObject[]
Aliases:Platforms
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PlatformString

您可以使用此參數來指定一或多個已知ModelName字串的陣列,而不是搭配Platform參數使用Get-CMConfigurationPlatform Cmdlet。 例如,平臺 All Windows 11 和更高 (64 位) ModelNameWindows/All_x64_Windows_11_and_higher_Clients

使用類似下列的命令來探索平臺的模型名稱:

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

指定操作員,以比較裝置的設定與預期的值。

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

-SelectFullPlatform

使用此參數來選取指定類型的所有平臺。

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

輸入

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

輸出

System.Object