博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WMI入门(一):什么是WMI
阅读量:7184 次
发布时间:2019-06-29

本文共 1050 字,大约阅读时间需要 3 分钟。

  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.TotalPhysicalMemoryNext

示例二:

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

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

结语:

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

转载地址:http://xkykm.baihongyu.com/

你可能感兴趣的文章
集成支付宝后出现LaunchServices: ERROR: There is no registered handler for URL scheme alipay
查看>>
Http和Socket详解
查看>>
iOS 多线程开发之OperationQueue(二)NSOperation VS GCD
查看>>
LeetCode - Trapping Rain Water
查看>>
Codeforces 437C The Child and Toy(贪心)
查看>>
蓝桥杯 大臣的旅费
查看>>
hql中不能写count(1)能够写count(a.id)
查看>>
Atitit。Time base gc 垃圾 资源 收集的原理与设计
查看>>
还是态度问题
查看>>
判断记录是否存在的通用方法
查看>>
sift算法c语言实现
查看>>
报表中的Excel操作之Aspose.Cells(Excel模板)
查看>>
(二)STM32中中断优先级理解
查看>>
gulp教程之gulp-imagemin
查看>>
C#中字典集合HashTable、Dictionary、ConcurrentDictionary三者区别
查看>>
【C语言入门教程】3.3 条件控制语句
查看>>
CLGeocoder Error Domain=kCLErrorDomain Code=2
查看>>
Spring中的@scope注解
查看>>
M2M
查看>>
Spring MVC的web.xml配置详解(转)
查看>>