Вызов методов WMI через запрос WQL - PullRequest
2 голосов
/ 08 июня 2011

Я бы хотел вызвать статический метод через WMI с использованием WQL (в основном это эквивалент кнопки «Выполнить метод» в wbemtest.exe), но у меня возникают проблемы с поиском примеров синтаксиса.

У меня есть пользовательский поставщик WMI с именем «HelloWmi» со следующим методом:

[ManagementTask]
public static string getVersion()
{
    return "1.4.2";
}

В wbemtest я могу нажать кнопку «Выполнить метод», ввести «HelloWmi» в качестве пути к объекту, и я получаю комбинированный список методов для выполнения. Точно так же я могу запустить следующее в Windows:

C:\Windows\system32>wmic /namespace:\\root\Test path HelloWmi call getVersion
Executing (HelloWmi)->getVersion()
Method execution successful.
Out Parameters:
instance of __PARAMETERS
{
    ReturnValue = "1.4.2";
};

Однако для этого проекта я не использую стандартный инструмент WMIC для Windows, а обращаюсь к WMI удаленно через пакет WMIC для Ubuntu, который, похоже, не поддерживает псевдонимы, которые есть в WMIC для Windows.

Есть ли способ вызывать методы WMI, используя только WQL-запрос?

1 Ответ

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

Нет Моника, невозможно выполнить метод WMI из предложения WQL. Запросы wmi предназначены только для получения информации о классах и свойствах wmi, а не для выполнения методов wmi.Для получения дополнительной информации о методах execute wmi вы можете проверить эти ссылки

...