Вопрос: Существует ли способ, с помощью которого я могу использовать классы WMI в java


Привет, я хочу использовать классы WMI, чтобы узнать информацию о приложении и продуктах. Но проблема в том, что я хочу использовать java или любой язык сценариев, такой как python, javascript или perl. Я слышал о JWMI, это может быть вариант. Может ли кто-нибудь помочь мне в этом?


4


источник


Ответы:


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();
}

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 - это реализация Microsoft Управление веб-сайтом  (WBEM). Существует также Java-реализация общего WBEM  который будет на некотором уровне совместим с WMI.

Это может быть самая полная истинная реализация Java, которую вы собираетесь найти. Если ваши потребности превышают крошечные сценарии (например, внедрение поставщика WBEM / WMI), вам может понадобиться изучить этот параметр.


6



Для языка сценариев: Скачать Scriptomatic 2.0  и пусть мастер создаст код WMI для VBScript, JScript, Perl и Python. Вот  что-то похожее на Powershell.


2



Я успешно использовал WMI через JACOB


2



JInterop  является хорошим вариантом для операций WMI в Java.


1



Вы можете проверить J-Interop  слишком. Вот хороший пример: http://www.vijaykandy.com/2009/09/windows-management-instrumentation-wmi-from-java/


1



JWMI выполняет операции WMI, создавая и выполняя скрипты vb с соответствующими запросами.
я использую J-Interop  который является открытым исходным кодом и хорошим вариантом.
Это также JACOB , J-Integra  а также EZ Jcom ,


1



Для выполнения запросов WMI я рекомендую вам свою библиотеку WMI4Java ,

Он очень прост в использовании:

Map<String, String> wmiObjectProperties =   
    WMI4Java.get().getWMIObject("Win32_BIOS");

1