SMS︰ 硬件清单仅限于 Root\Cimv2 和 Root\Cimv2\Sms 命名空间

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 314141
症状
包括系统管理服务器 (SMS) 的硬件清单客户端组件无法从类外部命名空间 Root\Cimv2 或 Root\Cimv2\Sms 来获得信息。
替代方法
Windows 管理规范 (WMI) 1.5 版包括视图提供程序。此提供程序可以提供基于类或另一个命名空间中的类的实例数据的用户定义的类中的实例。视图提供程序可用于提供从实例数据可能位于其他命名空间中的类生成的实例数据 Root\Cimv2 或 Root\Cimv2\Sms 命名空间中创建一个新类。

有关 WMI 视图提供程序的详细信息,请参阅 Microsoft 平台 SDK 中包含 WMI SDK。
更多信息
Root\Cimv2 命名空间是 SMS 硬件清单的客户端组件用于获取给定类的实例信息的默认命名空间。若要指定位于 Root\Cimv2\Sms 命名空间中的类,必须将 SMS_Namespace 限定符放上的 Sms_def.mof 文件中的对应类实例。SMS_Namespace 限定符是记录,并且在默认的 Sms_def.mof 文件中使用。

创建示例类

下面的示例说明如何在 SMS 硬件清单目的为提供 Root\Someothernamespace 命名空间中的 ABC123 类中的实例数据的 Root\Cimv2 命名空间中创建 ABC123View 类。

首先,SMS 硬件清单,以便能够收集的 appriate 数据,为 Root\Cimv2 或 Root\Cimv2\Sms 命名空间中放置链接的类。若要创建类的实例并使用视图提供程序链接到包含其他命名空间中的类的类实例,对 Sms_def.mof 文件添加以下信息。:
#pragma namespace("\\\\.\\Root\\CIMV2")instance of __Win32Provider as $DataProv{    Name = "MS_VIEW_INSTANCE_PROVIDER";    ClsId = "{AA70DDF4-E11C-11D1-ABB0-00C04FD9159E}";    ImpersonationLevel = 1;    PerUserInitialization = "True";    };instance of __InstanceProviderRegistration{    Provider = $DataProv;    SupportsPut = True;    SupportsGet = True;    SupportsDelete = True;    SupportsEnumeration = True;    QuerySupportLevels = {"WQL:UnarySelect"};};[union, ViewSources{"Select * from ABC123"}, ViewSpaces{"\\\\.\\root\\someothernamespace"}, Dynamic : ToInstance, provider("MS_VIEW_INSTANCE_PROVIDER")] class ABC123View{  [PropertySources("Property1") ] sint32 Property1;  [PropertySources("Property2"), key ] string Property2;  [PropertySources("Property3"), key ] string Property3;  [PropertySources("Property4") ] sint32 Property4;};					
然后,要让 SMS 硬件清单的客户端组件,以收集有关新类的实例数据,请创建另一个 Root\Cimv2\Sms 命名空间中从 SMS_Class_Template 派生的新类。对于此示例,Sms_def.mof 文件添加以下文本︰
#pragma namespace("\\\\.\\root\\cimv2\\sms")[SMS_Report(TRUE),SMS_Group_Name("ABC123View"),SMS_Class_ID("MYCOMPANY|ABC123|1.0")]class ABC123View : SMS_Class_Template{  [SMS_Report(TRUE),key]   string  Property2;  [SMS_Report(TRUE),key]   string  Property3;  [SMS_Report(TRUE)]   sint32 Property1;  [SMS_Report(TRUE)]   sint32 Property4;};					
prodsms

警告:本文已自动翻译

属性

文章 ID:314141 - 上次审阅时间:08/07/2016 03:12:00 - 修订版本: 4.0

  • kbprb kbmt KB314141 KbMtzh
反馈