Add-CMDeviceCollectionQueryMembershipRule

将查询成员身份规则添加到设备集合。

语法

Add-CMDeviceCollectionQueryMembershipRule
   -CollectionId <String>
   [-PassThru]
   -QueryExpression <String>
   -RuleName <String>
   [-ValidateQueryHasResult]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-CMDeviceCollectionQueryMembershipRule
   -CollectionName <String>
   [-PassThru]
   -QueryExpression <String>
   -RuleName <String>
   [-ValidateQueryHasResult]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-CMDeviceCollectionQueryMembershipRule
   -InputObject <IResultObject>
   [-PassThru]
   -QueryExpression <String>
   -RuleName <String>
   [-ValidateQueryHasResult]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

使用此 cmdlet 将查询成员身份规则添加到设备集合。 查询规则允许基于按计划运行的查询动态更新集合的成员身份。 无法将成员身份规则添加到默认集合。 目标的任何集合都应具有以网站代码开头的 ID,而不是 SMS。 有关详细信息,请参阅 如何在 Configuration Manager 中创建集合

注意

从 Configuration Manager 站点驱动器运行 Configuration Manager cmdlet,例如 PS XYZ:\>。 有关详细信息,请参阅 入门

示例

示例 1:添加查询成员身份规则

此示例首先将 WMI 查询语言 (WQL) 语句存储在 wql 变量中。 下一个命令将名为 TPM 的成员资格规则添加到名为 Windows 10 设备的设备集合。 QueryExpression 参数使用 wql 变量,并指定定义成员身份规则的查询。

$wql = "select SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.Name, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.Client from  SMS_R_System inner join SMS_G_System_TPM on SMS_G_System_TPM.ResourceID = SMS_R_System.ResourceId"

Add-CMDeviceCollectionQueryMembershipRule -CollectionName "Windows 10 devices" -QueryExpression $wql -RuleName "TPM"

参数

-CollectionId

指定要添加规则的设备集合的 ID。 此值是 CollectionID 属性,例如 XYZ00012。 由于无法向默认集合添加成员身份规则,因此此 ID 以网站代码开头,而不是 SMS

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-CollectionName

指定要添加规则的设备集合的名称。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-DisableWildcardHandling

此参数将通配符视为文本字符值。 不能将其与 ForceWildcardHandling 组合使用。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ForceWildcardHandling

此参数处理通配符,并可能导致意外行为, (不建议) 。 不能将其与 DisableWildcardHandling 组合使用。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InputObject

为设备集合指定对象以添加规则。 若要获取此对象,请使用 Get-CMCollectionGet-CMDeviceCollection cmdlet。

类型:IResultObject
别名:Collection
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-PassThru

添加此参数可返回一个对象,该对象表示正在使用的项。 默认情况下,此 cmdlet 可能不会生成任何输出。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-QueryExpression

指定站点用于更新设备集合的 WMI 查询语言 (WQL) 表达式。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-RuleName

指定要添加到集合的查询规则的名称。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-ValidateQueryHasResult

添加此参数以在添加规则之前测试查询表达式。 使用此参数运行 cmdlet 时,如果查询表达式没有结果,cmdlet 将返回以下错误消息: No object corresponds to the specified parameters. 在这种情况下,查询不会添加到集合中。

如果知道查询当前返回的结果为零,但仍要添加规则,请不要使用此参数。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-WhatIf

显示在 cmdlet 运行时发生的情况。 cmdlet 不会运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

输出

System.Object