使用NOIDMIF来扩展 hardware inventory

MIF 是桌面管理工业标准的一部分,MIF标准定义了文本文件如何被用来描述计算机管理信息。作为工业标准,很多程序都会将信息存储在MIF中。SMS / SCCM可以收集MIF文件的信息并存储到 site database中,可以用这个方法来处理inventory数据。

对于SMS / SCCM来说,没有说明的话,MIF文件指的就是NOIDMIF 文件。如名字所述,这种文件没有ID (数据的唯一标示符),系统动将NOIDMIF文件中得到的数据和收集到该MIF文件的计算机相关联。

SMS / SCCM也支持IDMIF,这种MIF文件包括唯一标示符,它和被收集到IDMIF文件的计算机并不相关,IDMIF一般用于收集外设的inventory信息,例如扫描仪等,这种数据被存储在 site database的单独的表中。IDMIF可以在 site database中创建新架构,或者更新现有架构。例如:用于在 site database中创建用于reporting的新表,添加和计算机并不紧密相关的资产管理信息,例如 routerswitch, 这种数据不太适合NOIDMIFMOF扩展。 当然这类数据的inventory也有一些第三方工具提供支持。

 

对于MIF的处理,在SMS 2003 和 SCCM 2007 中没有任何区别,有兴趣的朋友可以看这个博文

http://blogs.technet.com/configurationmgr/archive/2010/03/25/customizing-hardware-inventory-in-configuration-manager-2007-using-noidmif-files.aspx 

 

 

以下就不提 SMS 2003 高级客户端和SCCM 2007 客户端之分了,直接说客户端。

 

 

NOIDMIF文件在客户端的缺省存放位置在 %WinDir%/system32/CCM/inventory/Noidmifs,这个路径存储在注册表 HKLM/software/microsoft/SMS/Client/Configuration/Client Properties/NOIDMIF Directory 下。 如果NOIDMIF文件中定义的类在server中并不存在,site server inventory data loader就会在现有架构上创建新类,以后hardware inventory (下面就简写做hinv了) client agent做inventory 时就会包括处理该NOIDMIF文件中的类。hinv client agent每次inventory都会收集NOIDMIF文件并处理其中的信息,如果这个文件消失了,扩展的类和属性就会被从 site database中删除。所以NOIDMIF是一种很干净的方式。

 

扩展样例,将以下内容用文本编辑器存放到一个后缀为MIF的文本文件中,文件名无关紧要,便于管理查找即可。

 

Start Component

Name = "Asset Information"

Start Group

Name = "Company A Asset Numbers"

ID = 1

Class = "AssetNumbers"

Key = 1

Start Attribute

Name = "Computer Asset Number"

ID = 1

Type = String(10)

Value = "1234567890"

End Attribute

End Group

End Component

 

 

说明:

 

可以使用 MIFGen工具来创建NOIDMIF文件,也可以用文本编辑器手工编辑。其中的主要部分如下:

 

1. 创建NOIDMIF首先要添加一个component和名称

 

Start component    -------------------------- 这相当于大标题。

Name = "Asset Information"

 

2. 创建一个新类和显示名

 

Start Group

Name = "Company Asset Numbers"

 

上面的这个name 就是最后在 SMS/SCCM admin console中的 resource explorer 中显示出来的对应这个类的字符串名称。当系统第一次处理这个类时,会创建 WMI 类 :SMS_G_System_AssetNumbers (SMS_G_System + 上面的那个Start Group这段中的"Class = "这里的值),并在site server的数据库中创建 Company Asset Numbers 表(上面的Group name) 和 V_GS_Company_Asset_Numbers0视图。

 

3. ID是每个group的编号,Class是上面说过的的WMI类名的一部分,key属性是一个类的不同实例之间的唯一标示符。如果有多个实例,必须有一个key属性,否则后续实例信息会覆盖前面实例的信息。32位系统上,如果未定义key属性,则所有属性都被作为key属性来处理

 

ID = 1

Class = "AssetNumbers"

Key = 1

 

4. 下面是给上面定义的这个类添加第一个属性。必须包含属性名称,ID,类型,和一个有效的数值。ID号在group内必须唯一。系统只支持3种数据类型: integer, string,以及被特别格式化过的 DateTime 字符串。

 

Start Attribute

Name = "Computer Asset Number"

ID = 1

Type = String(10)

Value = "1234567890"

End Attribute

 

 

然后就是确认primary site server上的hardware inventory agent client属性设置中勾选了 “collect NOIDMIF files”. 心急的可以在客户端手工触发 machine policy retrieval cycle和hardware inventory cycle让客户端立即开始处理这个MIF文件。

 

最后说明,定制MIF文件的缺省大小上限是250KB,最大是5MB。在site server 的hardware inventory agent client属性中设置。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值