Raymond Chen 2004年10月21日
Windows Management Instrumentation(WMI)是一个可脚本化的配置信息接口。 这可以省去你自己去弄清楚的麻烦。
例如,这里有一个小程序,它枚举了你系统中的所有CPU,并打印了它们的一些基本信息。
var locator = WScript.CreateObject("WbemScripting.SWbemLocator");
var services = locator.ConnectServer();
var cpus = new Enumerator(services.ExecQuery("SELECT * FROM Win32_Processor"));
while (!cpus.atEnd()) {
var cpu = cpus.item();
WScript.StdOut.WriteLine("cpu.ProcessorType=" + cpu.ProcessorType);
WScript.StdOut.WriteLine("cpu.CurrentClockSpeed=" + cpu.CurrentClockSpeed);
WScript.StdOut.WriteLine("cpu.MaxClockSpeed=" + cpu.MaxClockSpeed);
WScript.StdOut.WriteLine("cpu.Manufacturer=" + cpu.Manufacturer);
WScript.StdOut.WriteLine();
cpus.moveNext();
}
将这个程序保存为 cpus.js
并通过 cscript cpus.js
运行它。
WMI内部保存了大量其他信息。 你可以在存在的所有类中迷失方向。 Scripting Guys拥有他们自己的工具,称为WMI Scriptomatic,它可以让你浏览WMI命名空间。 (Scripting Guys还编写了Tweakomatic,它带有非常有趣的文档。)
上午11点添加: 看来人们误解了这篇文章的重点。 这里的重点不是展示如何将结果打印到屏幕上。 (我之所以这样做,只是为了证明它确实有效。) 重点是你可以让WMI去做实际挖掘信息的艰难工作,而不是你自己去搜寻。 想要BIOS信息?试试 Win32_BIOS。 将查询更改为“SELECT * FROM Win32_BIOS”,你就可以从Manufacturer属性中获取制造商。 MSDN上有更多例子。