是否存在一种可以在java中使用WMI类的方法

amo*_*mod 5 javascript python java perl codeigniter

您好我想使用WMI类来查找应用程序和产品信息.但问题是我想使用java或任何脚本语言,如python,javascript或perl.我听说过JWMI,它可能是一个选择.任何人都可以帮我这个???

Mer*_*ham 6

JavaScript和Java不是一回事.

JavaScript的

JavaScript在Windows Scripting Host(WSH)下可用.有了它,访问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();
}
Run Code Online (Sandbox Code Playgroud)

jWMI(Java)

jWMI是一个小型库,可以让Java进行一般的WMI查询.它似乎在这里可用

http://henryranch.net/software/jwmi-query-windows-wmi-from-java/

它似乎也很容易使用(虽然我不确定它有多强大或完整):

String name = getWMIValue("Select Name from Win32_ComputerSystem", "Name");
Run Code Online (Sandbox Code Playgroud)

WBEM(Java)

WMI是基于Web的企业管理(WBEM)的Microsoft实现.还有一个通用WBEMJava实现,它将在某种程度上与WMI兼容.

这可能是您将要找到的最完整的真正Java实现.如果您的需求高于微小的脚本(例如实现WBEM/WMI提供程序),那么您可能需要查看此选项.