Вызов методов WMI с помощью запроса WQL

#.net #wmi #wql #wmic

#.net #wmi #wql #wmic

Вопрос:

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

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

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

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

 C:Windowssystem32>wmic /namespace:\rootTest 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:

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

Комментарии:

1. Спасибо! Похоже, тогда я буду писать для этого веб-сервис. 🙂

2. Ссылка [Как: Выполнить метод WMI] устарела.