【问题标题】:Basics of accessing WMI using powerShell使用 powerShell 访问 WMI 的基础知识
【发布时间】:2012-10-11 04:01:06
【问题描述】:

我正在尝试通过 PowerShell 访问 Windows WMI 中的一些可用数据。我认为这将是一个在可能转向 C 之前学习基础知识的简单起点。

最后我想从 Open Hardware Monitor 查询一个(未记录的)WMI API。这是 Jens 在这里提出的解决方案的一部分:How to get CPU temperature?

但是,我完全迷路了。 如何先加载 DLL 然后查询它?

作为初学者,我从 get-wmiobject -list 中找到了这个列表

CIM_传感器 CIM_BinarySensor CIM_MultiStateSensor CIM_DiscreteSensor CIM_NumericSensor CIM_TemperatureSensor Win32_TemperatureProbe CIM_转速表 CIM_VoltageSensor Win32_VoltageProbe CIM_CurrentSensor Win32_CurrentProbe

不幸的是,在其中任何一个上运行 get-wmiobject -class XX 不会返回任何结果。我希望能够询问传感器。 谁能告诉我基础知识或链接到教程?

【问题讨论】:

    标签: powershell wmi


    【解决方案1】:

    PowerShell v3 可能会为您提供更多功能,当然如果您正在研究 Server 2012 或 Windows 8 机器。

    否则,问题已经在您的文本中,它们通常没有记录,或者记录不充分。

    我运行了 Get-WMIObject -Class CIM_Sensor 和 Win32_TemperatureProbe 并取回了数据,但我也没有得到其他一些数据。

    要找到其他可能更有用的方法,您可以尝试以下方法:

        Get-WmiObject -NameSpace 'root\wmi'
        Get-WmiObject -Class CLASSNAME | Get-Member
        (Get-WmiObject -List CLASSNAME -Amended).Qualifiers
    

    可能进一步了解 WMI 很重要,因为 Win32_ 类是 Microsoft 提供的,通常更容易处理。我使用了很多 WMI,但更多的是用于文档、检查操作系统或让它做事,而不是直接指向硬件、传感器等。

    一些可能也有用的网站:

    http://www.dmtf.org/standards/wbem

    http://collaboration.opengroup.org/pegasus/

    https://en.wikipedia.org/wiki/Windows_Management_Instrumentation

    希望这至少可以为您提供更多工作信息,或者让您根据您正在寻找的内容思考更多内容。

    【讨论】:

      【解决方案2】:

      有一个名为 wmiexplorer 的 exe,它将列出所有 WMI 类和每个类的属性。它有一个简单的 GUI,在查找您需要的属性时非常有用。

      它还显示了相应的查询,您也可以进行试验。当我不知道要使用哪个 WMI 类时,我发现它非常有用。

      您可以找到更多信息here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-25
        • 1970-01-01
        • 2014-04-16
        • 2018-05-25
        • 2014-11-28
        • 2014-02-14
        • 2023-04-10
        • 1970-01-01
        相关资源
        最近更新 更多