自定义设备属性

适用于: Configuration Manager(current branch)

许多客户具有外部的其他数据Configuration Manager但对部署目标、集合构建和报告很有用。 此数据本质上通常是非技术性的,无法在客户端上发现,并且来自单个外部源。 例如,中心 IT 基础结构库 (ITIL) 系统或资产数据库,该数据库具有以下一些设备属性:

  • 物理位置
  • 组织优先级
  • 类别
  • 成本中心
  • 部门

从版本 2107 开始,可以使用 管理服务 在设备上设置此数据。 站点将属性的名称及其值作为 设备自定义属性 类存储在站点数据库中。 然后,可以使用 Configuration Manager 中的自定义属性进行报告或创建集合。

从版本 2111 开始,可以在 Configuration Manager 控制台中创建和编辑这些自定义属性。 借助此新用户界面,可以更轻松地查看和编辑这些属性。

注意

可以将 unicode 字符用于自定义 属性值,但不能对属性 名称使用。 有关详细信息,请参阅 Configuration Manager 中的 Unicode 和 ASCII 支持

先决条件

进行 API 调用的帐户需要对包含目标设备的集合具有以下权限:

  • 设置属性: 修改资源
  • 查看属性: 读取资源
  • 删除属性: 删除资源

通过 UI 设置属性

适用于版本 2111 或更高版本

  1. 在Configuration Manager控制台中,转到“资产和符合性”工作区,然后选择“设备”节点。

  2. 选择设备,然后在功能区中选择“ 属性”

  3. 切换到“ 自定义属性” 选项卡。

  4. 选择金星图标 以创建新的自定义属性。 提供属性的名称,并为此设备设置值。 选择 “确定” 以保存属性。

设备上具有多个值的“自定义属性”选项卡。

通过 API 设置属性

适用于版本 2107 或更高版本

若要在设备上设置属性,请使用 SetExtensionData API。 使用 JSON 正文对 URI https://<SMSProviderFQDN>/AdminService/v1.0/Device(<DeviceResourceID>)/AdminService.SetExtensionData 进行 POST 调用。 资源 ID 是整数值,例如 16777345

此 JSON 示例为设备的资产标记和位置设置两个名称/值对:

{
  "ExtensionData": {
    "AssetTag":"0580255",
    "Location":"Dublin"
  }
}

视图属性

使用 GetExtensionData API 查看自定义属性。

若要查看 单个 设备上的属性,请对 URI https://<SMSProviderFQDN>/AdminService/v1.0/Device(<DeviceResourceID>)/AdminService.GetExtensionData进行 GET 调用。

若要查看 所有 设备上的属性,请对 URI https://<SMSProviderFQDN>/AdminService/v1.0/Device/AdminService.GetExtensionData进行 GET 调用。 此调用从你具有读取权限的设备返回属性值。

删除属性

若要从所有设备中删除属性值,请使用不带设备 ID 的 DeleteExtensionData API。 包括设备资源 ID,以便仅从特定设备中删除属性。 对 URI https://<SMSProviderFQDN>/AdminService/v1.0/Device/AdminService.DeleteExtensionData进行 POST 调用。

创建集合

使用以下步骤创建具有基于自定义属性的查询规则的集合:

  1. 在Configuration Manager控制台中,创建集合

  2. 在“成员身份规则”页上的“ 添加规则” 列表中,选择“ 查询规则”。

  3. 在“查询规则”属性窗口中,指定查询的名称。 然后选择“ 编辑查询语句”。

  4. 在“查询语句属性窗口,切换到”条件“选项卡。然后选择黄金星号 () * 以添加新条件。

  5. 在“条件属性窗口,选择以下值:

    • 属性类: 设备自定义属性
    • 属性: PropertyName
  6. 选择 “运算符” ,然后将属性的名称指定为 “值”。

    此时,“条件”属性窗口应如下图所示:

    设备自定义属性 PropertyName 的条件属性窗口。

    选择“ 确定” 以保存条件。

  7. 重复这些步骤,为 PropertyValue 属性添加条件。

    此时,集合 Query Statement 属性窗口 应类似于下图:

    查询语句属性窗口这两个设备自定义属性条件。

  8. 选择“ 确定” 以关闭所有属性窗口。 然后完成向导以创建集合。

示例 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_ExtensionData on SMS_G_System_ExtensionData.ResourceId = SMS_R_System.ResourceId 
where SMS_G_System_ExtensionData.PropertyName = "AssetTag" and SMS_G_System_ExtensionData.PropertyValue = "0580255"

注意

若要将自定义属性 WQL 语句用于增量集合更新,请将 Configuration Manager 版本 2107 与更新汇总或更高版本配合使用。

后续步骤

如何使用管理服务

创建集合

如何管理客户端