当前位置:文档之家› wmi文档

wmi文档

问题1:WMI 是什么,它能帮我做什么?Windows 管理规范(Windows Management Instrumentation)是一项核心的Windows 管理技术;用户可以使用WMI 管理本地和远程计算机。

WMI 通过编程和脚本语言为日常管理提供了一条连续一致的途径。

例如,用户可以:•在远程计算机器上启动一个进程。

•设定一个在特定日期和时间运行的进程。

•远程启动计算机。

•获得本地或远程计算机的已安装程序列表。

•查询本地或远程计算机的Windows 事件日志。

WMI 中的“Instrumentation”特指WMI 可以获得关于计算机内部状态的信息,这与汽车仪表盘获得并显示引擎的状态信息非常类似。

WMI 对磁盘、进程、和其他Windows 系统对象进行建模,从而实现“指示”功能。

这些计算机系统对象采用类来建立模型,例如Win32_LogicalDisk 或Win32_Process;如您所料,Win32_LogicalDisk 类用于建立在计算机上安装的逻辑磁盘的模型,Win32_Process 类用于建立正在计算机上运行的任何进程的模型。

这些类基于一个名为通用信息模型(Common Information Model,CIM)的可扩展架构。

CIM 架构是分布式管理任务组(Distributed Management Task Force)的一个公开标准( ).WMI 的功能还包括事件触发、远程调用、查询、查看、架构的用户扩展、指示等等。

想进一步了解WMI,请访问/library/default.asp并搜索关键词“About WMI”。

返回页首问题2:WMI 适用于那些平台?WMI 适用于所有最新版本的Windows。

WMI 附带在Windows Me、Windows 2000、Windows XP 和Windows Server 2003 之中。

对于Windows 98 和Windows NT 4.0,可以访问/downloads. 并搜索“Windows Management Instrumentation (WMI) CORE 1.5 (Windows 95/98/NT 4.0)”。

注意:在Windows NT 4.0 上安装并运行WMI 之前,需要首先安装Service Pack 4 或更高版本。

WMI 需要的其他软件包括:1. Microsoft? Internet Explorer 5.0 或更高版本。

2. Windows Script Host(WSH)。

Windows 2000、Windows XP、Windows Server 2003、和Windows Me 附带的WSH,而不是Windows NT4 或Windows 98 附带的WSH。

您可以从以下地址下载WSH /downloads. WSH 的最新版本——包括在Windows XP 和Windows Server 2003 之中——是WSH 5.6。

返回页首问题3:如果WMI 向外界暴露特定的功能,我如何才能知道?MSDN 是了解WMI 及其功能的详细参考信息的最佳场所;请参考以下地址获取WMI 参考信息:/library/default.asp?url=/library/en-us/wmisdk/wmi/wmi_reference.asp. WMI 参考中包含了关于WMI 标准安装中大多数类、对象和API 的信息。

注意:不属于操作系统一部分的WMI 提供者可能会创建既没有记录在MSDN,也没有记录在平台SDK 中的类。

一旦熟悉了信息的分类方式,用户就可以方便地搜索自己想要的类,并确定自己想要的功能是否存在。

请注意:为了完成一个特定的任务,您可能需要使用多个类。

例如,假定您想要获得一台计算机的基本系统信息。

尽管可以使用Win32_OperatingSystem 类来获得可用内存的相关信息,但如果同时需要获得关于计算机可用磁盘的信息,您必须使用第二个类Win32_LogicalDisk。

请看问题为什么我的脚本可以在某个版本的Windows 上运行,但在另外一个版本的Windows 上却不能运行?想要知道WMI 可以做什么、不可以做什么?CIM Studio 是一种工具,用户可以通过它浏览Windows 2000 或更高版本平台上的WMI 类。

想要进一步了解这个工具,以及其中包含的内容(CIM Studio 中包含一系列由WMITools.exe 安装的工具),请访问 并搜索关键字“WMI tools”。

您也可以运行微软不提供支持的Wbemtest.exe 工具——安装WMI 的时候自动被安装——来浏览WMI 数据。

在Windows XP 或Windows Server 2003 上,用户可以使用以下脚本搜索类名中包含特定关键字的类。

请将该脚本保存为一个名为Search.vbs 的文本文件然后运行,并指定想要搜索的关键字。

例如,想要搜索名称中包含“service”的类,请在命令提示行运行以下命令:cscript search.vbs service' Script for finding a class in WMI RepositorySet args = wscript.argumentsIf args.Count <= 0 ThenWscript.Echo "Tool to search for a matching class in the WMI Repository. "Wscript.Echo "USAGE: <keywordToSearch> [<namespaceToSearchIn>]"Wscript.Echo "Example1: Cscript search.vbs service"Wscript.Echo "Example2: Cscript search.vbs video root\cimv2"Else' If no Namespace is specified then the Default is the ROOT namespacerootNamespace = "\\.\ROOT"keyword = args(0)If args.Count > 1 ThenrootNamespace = args(1)End IfEnumNameSpace rootNamespaceWscript.Echo vbNewLineEnd if' Subroutine to recurse through the namespacesSub EnumNameSpace(parentNamespaceName)Set objService = GetObject("winmgmts:" & parentNamespaceName)Set collMatchingClasses = objService.Execquery _("Select * From meta_class Where __class " & _"Like '%" & keyword & "%'")If (collMatchingClasses.count > 0) ThenWscript.Echo vbNewLineWscript.Echo vbNewLineWscript.Echo "Matching Classes Under Namespace: " & parentNamespaceNameFor Each matchingClass in collMatchingClassesWscript.Echo " " & matchingClass.Path_.CLASSNextEnd ifSet collSubNamespaces = objService.Execquery _("select * from __namespace")For Each subNameSpace in collSubNamespacesEnumNameSpace subNameSpace.path_.namespace + _"\" + NextEnd Sub该脚本只能运行在Windows XP 或Server 2003 之上,因为作为WMI 查询语言一部分的LIKE 运算符只能用于这两个平台。

返回页首问题4:如果WMI 没有提供我想要的功能,我应该怎么办?用户迟早会发现WMI 无法完成有些自己想要的任务或者无法高效地完成。

在这种情况下,您应该首先检查操作系统提供的其他脚本技术是否可以提供该功能。

例如,ADSI(Active Directory Service Interfaces)可以帮助用户管理Active Directory;CDO(Collaboration Data Objects)提供了在脚本中发送电子邮件的功能。

如果Windows 操作系统没有提供合适的脚本接口,也许某些第三方的软件可以提供您所需要的功能。

如果确实没有这样的脚本接口,理论上讲您可以编写一个WMI 提供者来提供相应的功能。

不过,不能用脚本语言来编写WMI;而必需使用C++ 或C#。

关于这方面的更多信息,请参阅MSDN 的“Using WMI”(使用WMI)部分,其中一些主题介绍了如何编写典型的WMI 提供者。

如果您想要使用.NET Framework 来编写提供者,请在MSDN 库中搜索“Managing Applications Using WMI”(使用WMI 管理应用程序)。

许多其他公司在市场上销售能够扩展WMI 功能的管理软件。

您可以在Internet 上搜索第三方工具。

也可以在新闻组提问以获取信息。

请看问题在哪里可以找到使用WMI 的示例脚本?返回页首问题5:在哪里可以找到使用WMI 的示例脚本?Microsoft Developers Network(MSDN)和TechNet 都是获得示例的好地方。

以下是一些指向这些站点上的有用资源的链接:•TechNet 脚本中心包含数百个按照技术和管理任务分类的示例脚本。

/fwlink/?LinkId=24771.??•MSDN/library.想要获得WMI 脚本,请搜索“WMI System Administration scripts”(WMI 系统管理脚本)。

相关主题