问题 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,请访问msdn.microsoft/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,可以访问www.microsoft/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 www.microsoft/downloads. WSH 的最新版本—— 包括在 Windows XP 和 Windows Server 2003 之中——是 WSH 5.6。
返回页首
问题 3:如果 WMI 向外界暴露特定的功能,我如何才能知道?
MSDN 是了解 WMI 及其功能的详细参考信息的最佳场所;请参考以下地址获取 WMI 参考信息:msdn.microsoft/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 中包含一系列由 安装的工具),请访问 www.microsoft 并搜索关键字“WMI tools”。
您也可以运行微软不提供支持的 工具——安装 WMI 的时候自动被安装——来浏览 WMI 数据。
在 Windows XP 或 Windows Server 2003 上,用户可以使用以下脚本搜索类名中包含特定关键字的类。 请将该脚本保存为一个名为 Search.vbs 的文本文件然后运行,并指定想要搜索的关键字。例如,想要搜索名称中包含 “service”的类,
请在命令提示行运行以下命令:
cscript search.vbs service
' Script for finding a class in WMI Repository
 
Set args = wscript.arguments
If args.Count <= 0 Then
    Wscript.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 namespace
    rootNamespace = "\\.\ROOT"
    keyword = args(0)
    If args.Count > 1 Then
        rootNamespace = args(1)
    End If   
    EnumNameSpace rootNamespace
    Wscript.Echo vbNewLine
End if
 
' Subroutine to recurse through the namespaces
 
Sub EnumNameSpace(parentNamespaceName)
 
Set objService = GetObject("winmgmts:" & parentNamespaceName)
 
Set collMatchingClasses = objService.Execquery _
    ("Select * From meta_class Where __class " & _
    "Like '%" & keyword & "%'")
If (unt > 0) Then
    Wscript.Echo vbNewLine
    Wscript.Echo vbNewLine
    Wscript.Echo "Matching Classes Under Namespace: " & parentNamespaceName
 
    For Each matchingClass in collMatchingClasses
        Wscript.Echo "    " & matchingClass.Path_.CLASS
    Next   
End if
 
Set collSubNamespaces = objService.Execquery _
    ("select * from __namespace")
For Each subNameSpace in collSubNamespaces
    EnumNameSpace subNameSpace.path_.namespace + _
        "\" + subNameSpace.Name
Next
 
End Sub
该脚本只能运行在 Windows XP 或 Server 2003 之上,因为作为 WMI 查询语言一部分的 LIKE 运算符只能用于这两个平台。
返回页首
问题 4:如果 WMI 没有提供我想要的功能,我应该怎么办?
用户迟早会发现 WMI 无法完成有些自己想要的任务或者无法高效地完成。 在这种情况下,您应该首先检查操作系统提供的其他脚本技术是否可以提供该功能。 例如,ADSI(Active Directory Service Interfaces)可以帮助用户管理 Active Directory;CDO(Collaboration Data Objects)提供了在脚本中发送的功能。如果 Windows 操作系统没有提供合适的脚本接口,也许某些第三方的软件可以提供您所需要的功能。
windows me如果确实没有这样的脚本接口,理论上讲您可以编写一个 WMI 提供者来提供相应的功能。不过,不能用脚本语言来编写 WMI;而必需使用 C++ 或 C#。关于这方面的更多信息,请参阅 MSDN 的“Using WMI”(使用 WMI)部分,其中一些主题介绍了如何编写典型的 WMI 提供者。如果您想要使用 .NET Framework 来编写提供者,请在 MSDN 库中搜索“Managing Applications Using WMI”(使用 WMI 管理应用程序)。
许多其他公司在市场上销售能够扩展 WMI 功能的管理软件。您可以在 Internet 上搜索第三方工具。也可以在新闻组提问以获取信息。请看问题在哪里可以到使用 WMI 的示例脚本?

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。