我如何从WMI对象中提取值并将其存储在变量中?

问题描述 投票:0回答:1

我想查询WMI并将值存储在某些变量中。结果返回一个WMI对象,我需要它自己的值。

我曾考虑过将WMI对象转换为字符串,然后搜索它,但这似乎不正确。

[如果可能,我想通过命名字段/标题来选择一个值。类似于从JSON对象中选择值的方法。

一个简短的例子:

import wmi
c = wmi.WMI()

for baseboard in c.Win32_Baseboard(["Product"]):
  print(baseboard)

baseboard_name = baseboard["Product"]
print(baseboard_name)

在上面的示例中,我收到此错误:

'_ wmi_object'对象不可下标。

python wmi
1个回答
0
投票

经过大量的Google搜索之后,我找到了一种自行获取任何WMI信息的方法(没有列名)。

以下示例显示了如何获得主板型号:

import win32com.client

wmi_service = win32com.client.Dispatch("WbemScripting.SWbemLocator")
wbem_service = wmi_service.ConnectServer(".", "root\cimv2")
baseboard_items = wbem_service.ExecQuery("SELECT * FROM Win32_Baseboard")

for obj_item in baseboard_items:
  baseboard_name = obj_item.Product

print(baseboard_name)
© www.soinside.com 2019 - 2024. All rights reserved.