WMI中的SQL,WQL简明教程系列3:类

mitchellchu:wmi wql教程  系列1系列2两篇文章比较简单的介绍了下WMI中WQL的关键字和运算符,有这两样东西我们就能够按照WQL的语法规则来写WQL语句了,等等,我们的WQL要操作的是什么?没错,我们会发现,在WQL语句中还缺少一个要操作的对象,这就是本文要说的,WMI中最重要的一个组成部分——。用过SQL语句的都应该清楚,无论是在MS SQL 还是MySQL中,我们如果要从数据库中查询数据,必须需要在SQL语句中指定查询的对象——表。在WQL中类的作用就相当于表,我们需要的数据会在不同的类中,而要将数据取出来,就要去找到各种对应的类。

  如果我们把WQL比作SQL的话,你就可以粗略的看作是数据库了,而WMI中的类,就是数据库中的表了,而类中返回的各种实例对象,可看作是表中的数据了。这个类比不完全正确,当深入会发现,每当要查询数据的时候,我们需要连接到指定的命名空间下,连接成功后,才能进行类的操作。现在暂时不去细究,初步有个概念就好,等具体操作的时候我们就能够明白了。

  那么,在WMI中,我们有多少类可以供查询呢?这个Mitchell倒是没有具体去统计数字,但在普通的操作中,能够涉及到的却并不是十分的多,我们可以用表格的形式列出在Win32下面比较常用的一些类。表格如下:

类名 描述
Win32_Fan 系统风扇
Win32_Keyboard 键盘
Win32_PointingDevice 指示设备,如鼠标
Win32_CDROMDrive CD-ROM
Win32_DiskDrive 系统的硬盘
Win32_PhysicalMedia 任何存储设备,在一般的机器上,包含CD-ROM,物理硬盘,软驱,磁带机等
Win32_BIOS 系统BIOS
Win32_CacheMemory 系统的Cache内存
Win32_MemoryDevice 内存,含相关联的映射地址
Win32_PhysicalMemory 物理内存
Win32_Processor CPU
Win32_NetworkAdapter 网络适配器,含物理网卡
Win32_NetworkAdapterConfiguration 网络适配器配置
Win32_NetworkAdapterSetting 网络适配器以及其相关设定
Win32_Printer 打印/传真设备
Win32_DesktopMonitor 显示设备
Win32_DisplayConfiguration 显示设备配置
Win32_Desktop 桌面
Win32_Environment 系统环境
Win32_Directory 文件目录,所有的目录
Win32_DiskPartition 磁盘分区
Win32_LogicalDisk 逻辑磁盘
Win32_Process 进程信息
Win32_Account 账户信息
Win32_PerfFormattedData 格式化后的性能数据
Win32_Service 系统服务

   有了WMI类之后,我们就可以根据自己的需要来写WQL来查询系统中的各个数据了,比如我们想知道当前系统中有多少物理磁盘的存在,只需要下面这样就能返回系统的磁盘实例:

SELECT * FROM Win32_DiskDrive

  如果需要进一步了解这些物理磁盘的信息,可以从获取的参数中去查找,这些参数,你可以查找MSDN上的帮助文档即可,是不是非常的方便?

 

附注:

更多关于WMI类的帮助可以参见官方文档:Management Infrastructure Classes

Saturday, June 15, 2013 | .NET技术 其他技术 编程语言

文章评论

No comments posted yet.

发表评论

Please add 5 and 3 and type the answer here:

关于博主

  一枚成分复杂的网络IT分子,属于互联网行业分类中的杂牌军。