惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
V
Visual Studio Blog
C
Check Point Blog
阮一峰的网络日志
阮一峰的网络日志
U
Unit 42
量子位
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
M
MIT News - Artificial intelligence
爱范儿
爱范儿
B
Blog RSS Feed
MyScale Blog
MyScale Blog
H
Help Net Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
L
LangChain Blog
D
Docker

博客园 - yzx99

哈希表用于Key与Value的对应 一次让代码更适应变化的经历(续) 一次让代码更适应变化的经历 错误提示与实际问题不符合的案例之一 C#中控件数组的讨论 C#下水晶报表打印自定义纸张 设计模式应用之一:控件清空 自定义StyleCop规则 恢复数据工具比较 SQL公式一直设不成功 不把text或image字段放最后的后果 要显示ASP调试信息,要把IE友好错误去掉 计算机重启脚本 - yzx99 - 博客园 VB6设置进度条颜色 - yzx99 - 博客园 判断ListView双击了子项,并获取其位置与大小 VB6实现ListView各行间隔颜色 - yzx99 - 博客园 SQL查询优化一小例 让普通用户查询安全日志 WMI代码运行错误:80041003
WMI的几种写法 - yzx99 - 博客园
yzx99 · 2009-05-10 · via 博客园 - yzx99

WMI的一种写法:
Set oWMI = GetObject("winmgmts:" & _
                     "{impersonationLevel=impersonate,(Shutdown)}!" & _
                     "\\." & _
                     "\root\cimv2")
Set cNAs = oWMI.ExecQuery("Select * from Win32_NetworkAdapter")
For Each oNA in cNAs
  WScript.Echo oNA.MACAddress
Next
特点:像SQL语句一样,因此就可以加上where语句,如:
WHERE ((MACAddress Is Not NULL) AND (Manufacturer <> 'Microsoft'))

WMI的另一种写法:
Set cNAs = GetObject("winmgmts:" & _
                     "{impersonationLevel=impersonate,(Shutdown)}!" & _
                     "\\." & _
                     "\root\cimv2").InstancesOf("Win32_NetworkAdapter")
For Each oNA in cNAs
  WScript.Echo oNA.MACAddress
Next
特点:有命名空间下的类生成实例的感觉

如果要获取Win32_NetworkAdapter的所有属性,可以这样写
Set oNA = GetObject("winmgmts:" & _
                    "{impersonationLevel=impersonate,(Shutdown)}!" & _
                    "\\." & _
                    "\root\cimv2" & _
                    ":Win32_NetworkAdapter")
For Each oProperty in oNA.Properties_
  WScript.Echo oProperty.Name
Next
这个WMI包含了前缀:"winmgmts:";安全设置:"{......}!";计算机名字:"\\.
";CIM命名空间:"\root\cimv2";WMI类名:":WMIClassesName"。
得到的只是一个类对象,还没实例化。

安全设置中包含(ShutDown)是没有必要的,原来是测试Win32_OperatingSystem的ReBoot功能,后来怕以后不小心双击就重启,改为用Win32_NetworkAdapter来代替。但(Shutdown)却忘了册,也舍不得,因为还没理解。