#.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] устарела.