如何在 Configuration Manager 中扩展硬件清单

适用于: Configuration Manager(current branch)

硬件清单使用 Windows Management Instrumentation (WMI) 从 Windows 电脑读取信息。 WMI 是基于 Web 的企业管理Microsoft实现 (WBEM) ,这是访问企业中管理信息的行业标准。 在以前版本的 Configuration Manager 中,你通过修改站点服务器上的文件 sms_def.mof 来扩展硬件清单。 此文件包含可通过硬件清单读取的 WMI 类列表。 编辑此文件后,可以启用和禁用现有类,还可以创建新类以清点。

Configuration.mof 文件用于定义要按客户端上的硬件清单列出清单的数据类,自 Configuration Manager 2012 起保持不变。 可以创建数据类来清点客户端系统上存在的现有或自定义 WMI 存储库数据类或注册表项。

Configuration.mof 文件还定义和注册在硬件清单期间访问设备信息的 WMI 提供程序。 注册提供程序定义要使用的提供程序类型和提供程序支持的类。

Configuration Manager客户端请求策略时,Configuration.mof 将附加到策略正文。 然后,客户端会下载并编译此文件。 从 Configuration.mof 文件添加、修改或删除数据类时,客户端会自动编译这些对清单相关数据类所做的更改。 无需进一步操作即可清点Configuration Manager客户端上的新数据类或修改的数据类。 此文件位于Inboxes\clifiles.src\hinv\主站点服务器或管理中心站点Configuration Manager安装目录的文件夹中, (CAS) 服务器。

在 Configuration Manager current Branch 中,不会像以前版本那样编辑 sms_def.mof 文件。 请改为使用客户端设置进行这些更改。 Configuration Manager提供了以下方法来扩展硬件清单。

注意

如果在客户端设置中更改了类的状态,则更新站点时,某些类可能会还原为默认状态。 例如,如果禁用 SMS_Windows8ApplicationSMS_Windows8ApplicationUserInfo 类,则会在安装Configuration Manager更新后启用它们。 自定义硬件清单类时,请确保在站点更新之前和之后查看其配置。

如果已手动更改 Configuration.mof 文件以添加自定义清单类,则更新站点时将覆盖这些更改。 若要在更新后继续使用自定义类,请将它们添加到 Configuration.mof 文件的 “已添加扩展 ”部分。 请勿修改本部分上方的任何内容。 其他部分由Configuration Manager保留以供修改。 站点备份站点服务器上Configuration Manager安装目录文件夹中的自定义 Configuration.mofdata\hinvarchive\

从版本 2107 开始,可以使用管理服务在设备上设置自定义属性。然后,可以使用 Configuration Manager 中的自定义属性进行报告或创建集合。 有关详细信息,请参阅 设备的自定义属性

方法

启用或禁用

启用或禁用客户端上已存在的类的某些所有属性。 此操作指示硬件清单代理在客户端上收集它。 可以在默认客户端设置或自定义设备客户端设置中执行此操作。 有关详细信息,请参阅 启用或禁用现有类

添加

如果客户端上存在一个 WMI 类,并且站点知道该类,则此操作会将其包含在可能的一组硬件清单类中。 可以从另一台设备的 WMI 命名空间添加新清单类。 此操作仅适用于默认客户端设置。 有关详细信息,请参阅 添加新类

Extend

向客户端添加新的 WMI 类。 若要手动扩展硬件清单,请在顶级站点上编辑 configuration.mof。

如果客户端上尚不存在 WMI 类,则需要扩展 WMI 架构:

  1. 编辑顶级站点上的 configuration.mof。 查看 dataldr.log 以查看站点添加它。

  2. 在客户端上刷新策略,并等待新类编译。

  3. 使用默认客户端设置将新类 添加到 硬件清单。 无需在默认客户端设置中启用此类。 然后,可以在自定义设备客户端设置中启用它。

导入和导出

使用 Configuration Manager 控制台 (MOF) 包含清单类的文件导入和导出托管对象格式。 有关详细信息,请参阅 如何导入类如何导出类

关于 NOIDMIF 文件

使用 NOIDMIF 文件收集有关Configuration Manager无法清点的客户端设备的信息。 例如,收集仅作为设备上的标签存在的设备资产编号信息。 NOIDMIF 清单会自动与从中收集它的客户端设备相关联。 有关详细信息,请参阅 创建 NOIDMIF 文件

关于 IDMIF 文件

使用 IDMIF 文件收集有关组织中未与Configuration Manager客户端关联的资产的信息。 例如,投影仪、影印器和网络打印机。 有关详细信息,请参阅 创建 IDMIF 文件

Procedures

这些过程可帮助你为硬件清单配置默认客户端设置,并应用于层次结构中的所有客户端。 如果希望这些设置仅应用于某些客户端,请创建自定义客户端设备设置并将其分配给特定客户端的集合。 有关详细信息,请参阅 如何配置客户端设置

启用或禁用现有类

  1. 在Configuration Manager控制台中,转到“管理”工作区,然后选择“客户端设置”节点。

  2. 选择“默认客户端设置”。 在“ 开始 ”选项卡上的 “属性” 组中,选择 “属性”。

  3. 在“ 默认客户端设置” 对话框中,选择“ 硬件清单”。

  4. “设备设置” 列表中,选择“ 设置类”。

  5. 在“ 硬件清单类 ”对话框中,选择或清除要通过硬件清单收集的类和类属性。 可以展开类以选择或清除该类中的单个属性。 使用 “搜索库存类” 字段可搜索各个类。

重要

将新类添加到Configuration Manager硬件清单时,收集并发送到站点服务器的清单文件的大小将增加。 这可能会对网络和Configuration Manager站点的性能产生负面影响。 仅启用要收集的清单类。

添加新类

只能通过修改默认客户端设置,从层次结构的顶级服务器添加清单类。 创建自定义设备设置时,此选项不可用。

  1. 在Configuration Manager控制台中,转到“管理”工作区,然后选择“客户端设置”节点。

  2. 选择“默认客户端设置”。 在“ 开始 ”选项卡上的 “属性” 组中,选择 “属性”。

  3. 在“ 默认客户端设置” 对话框中,选择“ 硬件清单”。

  4. “设备设置” 列表中,选择“ 设置类”。

  5. 在“ 硬件清单类 ”对话框中,选择“ 添加”。

  6. “添加硬件清单类 ”对话框中,选择“ 连接”。

  7. “连接到 Windows Management Instrumentation (WMI) ”对话框中,指定要从中获取 WMI 类的计算机的名称,以及用于获取类的 WMI 命名空间。 如果要获取指定 WMI 命名空间下的所有类,请选择“ 递归”。 如果要连接到的计算机不是本地计算机,请提供有权访问远程计算机上的 WMI 的帐户的凭据。

  8. 选择“连接”。

  9. 在“添加硬件清单类”对话框中的“清单类”列表中,选择要添加到Configuration Manager硬件清单的 WMI 类。

  10. 如果要编辑有关所选 WMI 类的信息,请选择 “编辑”,并在“ 类限定符 ”对话框中提供以下信息:

    • 显示名称:此名称将显示在资源资源管理器中。

    • 属性:指定显示 WMI 类的每个属性的单位。

      还可以将属性设置为键属性,以帮助唯一标识类的每个实例。 如果未为 类定义键,并且从客户端报告类的多个实例,则数据库中仅存储找到的最新实例。

      配置完属性后,选择“ 确定 ”以关闭“ 类限定符 ”对话框和其他打开的对话框。

如何导入类

只能在修改默认客户端设置时导入清单类。 但是,可以使用自定义客户端设置来导入不包含架构更改的信息,例如将现有类的 属性从 True 更改为 False

  1. 在Configuration Manager控制台中,转到“管理”工作区,然后选择“客户端设置”节点。

  2. 选择“默认客户端设置”。 在“ 开始 ”选项卡上的 “属性” 组中,选择 “属性”。

  3. 在“ 默认客户端设置” 对话框中,选择“ 硬件清单”。

  4. “设备设置” 列表中,选择“ 设置类”。

  5. 在“ 硬件清单类 ”对话框中,选择“ 导入”。

  6. 在“ 导入 ”对话框中,选择要导入的“托管对象格式 (MOF) 文件”,然后选择“ 确定”。 查看要导入的项目,然后选择“ 导入”。

如何导出类

  1. 在Configuration Manager控制台中,转到“管理”工作区,然后选择“客户端设置”节点。

  2. 选择“默认客户端设置”。 在“ 开始 ”选项卡上的 “属性” 组中,选择 “属性”。

  3. 在“ 默认客户端设置” 对话框中,选择“ 硬件清单”。

  4. “设备设置” 列表中,选择“ 设置类”。

  5. 在“ 硬件清单类 ”对话框中,选择“ 导出”。

    注意

    导出类时,将导出当前选择的所有类。

  6. 在“ 导出 ”对话框中,指定要将类导出到的托管对象格式 (MOF) 文件,然后选择“ 保存”。

收集大于 255 个字符的字符串

可以为硬件清单属性指定大于 255 个字符的字符串长度。 此操作仅适用于新添加的类,并且适用于不是密钥的硬件清单属性。

  1. “管理 ”工作区中,选择“ 客户端设置”。 选择要编辑的客户端设备设置,然后选择 “属性”。

  2. 依次选择“ 硬件清单”、“ 设置类”和 “添加”。

  3. 选择“连接”。

  4. 填写“计算机名称”“WMI 命名空间”,根据需要选择递归。 如有必要,请提供凭据进行连接。 选择“ 连接 ”以查看命名空间类。

  5. 选择新类,然后选择 “编辑”。

  6. 将字符串(键以外的)属性的 长度 更改为大于 255。 选择“确定”。

  7. 确保为 “添加硬件清单类”选择了编辑的属性,然后选择“ 确定”。

使用 MIF 文件

使用管理信息格式 (MIF) 文件来扩展通过Configuration Manager从客户端收集的硬件清单信息。 在硬件清单期间,存储在 MIF 文件中的信息将添加到客户端清单报表并存储在站点数据库中,你可以在其中以与使用默认客户端清单数据相同的方式使用数据。 MIF 文件有两种类型:NOIDMIF 和 IDMIF。

重要

在将 MIF 文件中的信息添加到 Configuration Manager 数据库之前,请创建或导入 类。 有关详细信息,请参阅本文中的 添加新类如何导入类

创建 NOIDMIF 文件

NOIDMIF 文件可用于将通常无法由 Configuration Manager 收集且与特定客户端设备关联的信息添加到客户端硬件清单。 例如,许多公司使用资产编号标记组织中的每台计算机,然后手动编目这些数字。 创建 NOIDMIF 文件时,可以将此信息添加到 Configuration Manager 数据库,并用于查询和报告。

有关创建 NOIDMIF 文件的详细信息,请参阅Configuration Manager SDK 文档中的关于清单

重要

创建 NOIDMIF 文件时,请将其保存为 ANSI 编码的格式。 如果以 UTF-8 编码格式保存 NOIDMIF 文件,Configuration Manager无法读取该文件。

创建 NOIDMIF 文件后,将其 %Windir%\CCM\Inventory\noidmifs 存储在每个客户端上的 文件夹中。 Configuration Manager在下一个计划的硬件清单周期内从此文件夹中的 NODMIF 文件收集信息。

创建 IDMIF 文件

IDMIF 文件可用于将通常无法由Configuration Manager清点且不与特定客户端设备关联的资产的相关信息添加到Configuration Manager数据库。 例如,可以使用 IDMIFS 收集有关投影仪、DVD 播放器、影印机或没有Configuration Manager客户端的其他设备的信息。

有关创建 IDMIF 文件的详细信息,请参阅Configuration Manager SDK 文档中的关于清单

创建 IDMIF 文件后,将其 %Windir%\CCM\Inventory\idmifs 存储在客户端计算机上的 文件夹中。 Configuration Manager在下一个计划的硬件清单周期内从此文件收集信息。 通过添加或导入文件中包含的信息声明新类。

注意

MIF 文件可能包含大量数据,收集此数据可能会对站点的性能产生负面影响。 仅在需要时启用 MIF 收集。 在硬件清单设置中配置 选项“最大自定义 MIF 文件大小 (KB) ”。 有关详细信息,请参阅 硬件清单简介