zoukankan      html  css  js  c++  java
  • WMI入门(一):什么是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:Usersv-lukez> Get-WmiObject -Class Win32_LogicalDisk

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

  • 相关阅读:
    SpringCloud 超大文件上传解决方案:分片断点上传(一)
    SpringMVC 超大文件上传解决方案:分片断点上传(一)
    JSP 超大文件上传解决方案:分片断点上传(一)
    PHP 超大文件上传解决方案:分片断点上传(一)
    JavaScript 超大文件上传解决方案:分片断点上传(一)
    JS 超大文件上传解决方案:分片断点上传(一)
    VUE 超大文件上传解决方案:分片断点上传(一)
    B/S 超大文件上传解决方案:分片断点上传(一)
    poj 2115 Looooops
    hdu 2669 Romantic
  • 原文地址:https://www.cnblogs.com/gavinsky/p/4972018.html
Copyright © 2011-2022 走看看