2

我想使用 WQL(基本上相当于 wbemtest.exe 中的“执行方法”按钮)通过 WMI 调用静态方法,但我无法找到语法示例。

我有一个名为“HelloWmi”的自定义 WMI 提供程序,方法如下:

[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";
};

但是,对于这个项目,我没有使用 Windows 的标准 WMIC 工具,而是通过 ubuntu 的 WMIC 包远程访问 WMI,这似乎不支持 Windows 的 WMIC 具有的别名。

有没有办法只使用 WQL 查询来调用 WMI 方法?

4

1 回答 1

1

没有莫妮卡,不可能从 WQL 语句中执行 WMI 方法。wmi 查询仅用于检索有关 wmi 类和属性的信息,而不是用于执行 wmi 方法。有关执行 wmi 方法的更多信息,您可以查看这些链接

于 2011-06-08T19:45:09.557 回答