WMI入门教程之什么是WMI?

 更新时间:2014年10月14日 10:05:11   作者:Luke Zhang  
这篇文章主要介绍了WMI入门教程之什么是WMI?WMI有一组API,我们可以使用VBScript、PowerShell脚本还是利用C#的来访问WMI的类库,需要的朋友可以参考下

WMI出现至今已经二十多年了,但很多人对它并不熟悉。知道它很好很强大,但不知道它从哪里来,怎么工作,使用范围是什么?现在我跟大家说说我的理解。。。

 WMI有一组API。我们不管使用VBScript、PowerShell脚本还是利用C#的来访问WMI的类库,都是因为WMI向外暴露的一组API。这些API是在系统安装WMI模块的时候安装的,通过他们我们能够能拿到我们想要的类。

  WMI有一个存储库。尽管WMI的多数实例数据都不存储在WMI中,但是WMI确实有一个存储库,用来存放提供程序提供的类信息,或者称为类的蓝图或者Schema。

  WMI有一个Service。WMI总是能够响应用户的访问,那是因为它有一个一直运行的Windows服务,名字叫Winmgmt。停止这个服务,所有对WMI的操作都将没有反应。

  WMI是可扩展的。人人都知道WMI能干很多事情,读取本机硬盘信息、读取远程计算机的用户信息、读取域用户信息等等。基本上,你能想到的获取或者更改资源的操作,它都能干。可谓吃得少,干得多。它为什么这么能干呢?这基于WMI的可扩展性。WMI对资源的操作,不是它自己实现了什么方法,而完全取决于向它注册的提供程序。

  WMI是管理员日常必备的强大工具之一,是脚本伴侣。当然也可以把一个大型系统建立在WMI以及WMI的提供程序之上。以下给两个使用WMI的例子:

示例一:

本示例利用VB Script检查本机的物理内存量:

复制代码 代码如下:

strComputer = "."

Set wbemServices = Getobject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_LogicalMemoryConfiguration")

For Each wbemObject In wbemObjectSet
    WScript.Echo "Total Physical Memory (kb): " & wbemObject.TotalPhysicalMemory
Next

示例二:

本示例利用PowerShell检查本机的逻辑硬盘情况:

复制代码 代码如下:

PS C:\Users\v-lukez> Get-WmiObject -Class Win32_LogicalDisk

结语:

  WMI功能强大,而且一直在发展,但是因为用的人不多,所以一直不温不火。希望更多的人能够慧眼识珠,看到的潜力。

相关文章

  • PowerShell命令中包含空格如何运行?

    PowerShell命令中包含空格如何运行?

    这篇文章主要介绍了PowerShell命令中包含空格如何运行?即在PowerShell中运行包含空格的命令的方法,需要的朋友可以参考下
    2014-08-08
  • Powershell小技巧之创建短网址

    Powershell小技巧之创建短网址

    短网址服务,可能很多朋友都已经不再陌生,特别是在微博应用中十分普遍,比如,当我们在腾讯、新浪微博发微博时有时发很长的网址连接,但由于微博只限制140个字,所以微博就自动把您发的长网址给转换成短网址了。今天我们来探讨下,如何用powershell来便捷的使用短网址
    2014-10-10
  • PowerShell中按修改时间查找文件的方法

    PowerShell中按修改时间查找文件的方法

    这篇文章主要介绍了PowerShell中按修改时间查找文件的方法,主要使用文件的LastWriteTime属性实现,需要的朋友可以参考下
    2014-08-08
  • Powershell ISE的抽象语法树编程示例

    Powershell ISE的抽象语法树编程示例

    这篇文章主要介绍了Powershell ISE的抽象语法树编程示例,本文讲解了抽象语法树的一些概念,并给出了代码实例,需要的朋友可以参考下
    2015-03-03
  • Powershell展开对象数据结构并以JSON格式输出

    Powershell展开对象数据结构并以JSON格式输出

    这篇文章主要介绍了Powershell展开对象数据结构并以JSON格式输出,本文直接给出实现代码,需要的朋友可以参考下
    2015-03-03
  • Powershell获取环境变量的方法

    Powershell获取环境变量的方法

    这篇文章主要介绍了Powershell获取环境变量的方法,同时介绍了一个列出包含某关键字的环境变量的方法,需要的朋友可以参考下
    2014-07-07
  • Powershell脚本中使用条件断点实例

    Powershell脚本中使用条件断点实例

    这篇文章主要介绍了Powershell脚本中使用条件断点实例,本文直接给出实现代码,需要的朋友可以参考下
    2015-03-03
  • PowerShell实现时间管理小秘书

    PowerShell实现时间管理小秘书

    这篇文章主要介绍了PowerShell实现时间管理小秘书,本文是一个PowerShell的综合编程实例,实现了一个用来管理时间的功能,需要的朋友可以参考下
    2015-04-04
  • 使用PowerShell修改注册表

    使用PowerShell修改注册表

    本文通过具体的实例给大家具体讲解了使用PowerShell操作注册表的方法,非常的简单实用,有需要的小伙伴可以参考下。
    2015-09-09
  • PowerShell实现在字符串中查找大写字母

    PowerShell实现在字符串中查找大写字母

    这篇文章主要介绍了PowerShell实现在字符串中查找大写字母,本文讲解使用.NET中的IsUpper()函数来实现查找大写字母的需求,需要的朋友可以参考下
    2015-06-06

最新评论