New-CMRequirementRuleOperatingSystemValue

为应用程序部署类型创建 OS 要求规则。

语法

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

说明

使用此 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 字符串的数组,而不是将 Get-CMConfigurationPlatform cmdlet 与 Platform 参数配合使用。 例如,平台的 ModelName所有 Windows 11 及更高版本 (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