有没有一种方法可以在Java中使用WMI类
问题内容:
嗨,我想使用WMI类来查找应用程序和产品信息。但是问题是我想使用Java或任何脚本语言(如python,javascript或perl)。我听说过JWMI,这可能是一个选择。有人可以帮我吗???
问题答案:
JavaScript和Java不是一回事。
JavaScript
Windows脚本宿主(WSH)下提供了JavaScript。有了它,访问WMI相当容易:
var loc = new ActiveXObject("WbemScripting.SWbemLocator");
var svc = loc.ConnectServer(".", "root\\cimv2");
coll = svc.ExecQuery("select * from Win32_Process");
var items = new Enumerator(coll);
while ( !items.atEnd() )
{
WScript.Echo(items.item().Name);
items.moveNext();
}
jWMI(Java)
jWMI是一个小型库,使Java能够进行常规WMI查询。似乎在这里可用
http://henryranch.net/software/jwmi-query-windows-wmi-from-
java/
它似乎也易于使用(尽管我不确定它的功能是否强大或完整):
String name = getWMIValue("Select Name from Win32_ComputerSystem", "Name");
WBEM(Java)
WMI是 基于Web的企业管理
(WBEM)的Microsoft实现。还有通用WBEM的Java实现,它将在某种程度上与WMI兼容。
这可能是您将找到的最完整的真正Java实现。如果您的需求超出了微小的脚本编写(例如实现WBEM / WMI提供程序),那么您可能需要研究此选项。