共用方式為


New-CMRequirementRuleOperatingSystemValue

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

語法

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 結合。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ForceWildcardHandling

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

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-InputObject

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

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

注意事項

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

PlatformType 裝置類型
1 Windows
2 行動裝置
類型:IResultObject
別名:GlobalCondition
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-Platform

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

類型:IResultObject[]
別名:Platforms
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-PlatformString

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

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

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

類型:String[]
別名:PlatformStrings, PlatformCIUniqueID, PlatformCIUniqueIDs
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-RuleOperator

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

類型:RuleExpressionOperator
接受的值:OneOf, NoneOf
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-SelectFullPlatform

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

類型:FullPlatformOption
接受的值:Windows, Nokia, WindowsMobile, IOs, IOsDeepLink, Android, AndroidDeepLink, Mac, WinPhone8, WinPhone8DeepLink, MobileMsi
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

輸出

System.Object