有没有办法扩展WQL来添加对JOIN和DISTINCT等关键字的支持?似乎Microsoft已经在系统中心2012配置管理器中完成了这项工作,但我找不到在哪里找到程序集以及如何重用它。
我的理解是SCCM没有扩展WQL,而是将实现连接和不同集的功能放在SMSProv.dll中。请参阅以下 SCCM 链接:
- 如何在 配置管理器 中创建查询
- 配置管理器的 WQL 查询示例
虽然 WQL 中没有 JOIN,但有一个关联器 OF 查询。您可以直接在 wbemtest.exe
中运行此查询:
ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}
但是,如果您正在寻求编写自己的程序来查询 WMI,则不希望骑在 SMSProv.dll 的背面,SMSProv 可能会从您下面改变。 你可能想看看Powershell。这是一篇博客文章的链接,展示了如何做到这一点:
使用 PowerShell 和 WQL 获取 WMI 数据的三种简单方法