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:\Users\v-lukez> Get-WmiObject -Class Win32_LogicalDisk
结语:
WMI功能强大,而且一直在发展,但是因为用的人不多,所以一直不温不火。希望更多的人能够慧眼识珠,看到的潜力。
您可能感兴趣的文章:
- JavaScript入门教程(1) 什么是JS
- Ant的入门级教程(1)?ANT 蚂蚁是什么?带有简单使用。
- 【Arduino】开发入门教程【一】什么是Arduino
- WMI入门教程之怎么使用WMI?
- PowerShell入门教程之访问.Net程序集、COM和WMI实例
- Linux教程-入门课程-什么是Shell?
- 什么是IndexedDB:Web离线数据库入门简介及基础教程
- 无废话WCF入门教程一[什么是WCF]
- 无废话WCF入门教程一[什么是WCF]
- 无废话WCF入门教程一[什么是WCF]
- JSF入门系列教程(一) jsf简介,jsf是什么?
- 【Arduino】开发入门教程【一】什么是Arduino
- WMI 使用教程_.NET 入门教程
- 无废话WCF入门教程一[什么是WCF]
- WCF入门教程一[什么是WCF]--转载只为学习收藏
- JavaScript入门教程(1) 什么是JS
- WMI 使用教程_.NET 入门教程
- 无废话WCF入门教程一[什么是WCF]
- ECharts图表组件入门教程之Theme:ECharts图表的皮肤是什么?如何给图表换主题(皮肤)Theme?
- 转:ECharts图表组件入门教程之Theme:ECharts图表的皮肤是什么?如何给图表换主题(皮肤)Theme?