Существует ли способ, с помощью которого я могу использовать классы WMI в Java - PullRequest
5 голосов
/ 09 июня 2011

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

Ответы [ 7 ]

6 голосов
/ 09 июня 2011

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), то вы, возможно, захотите изучить эту опцию.

2 голосов
/ 09 июня 2011

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

2 голосов
/ 09 июня 2011

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

1 голос
/ 22 апреля 2016

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

Это очень удобно:

Map<String, String> wmiObjectProperties =   
    WMI4Java.get().getWMIObject("Win32_BIOS");
1 голос
/ 20 мая 2015

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

1 голос
/ 09 июня 2011

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

1 голос
/ 09 июня 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...