1
def getPnpDeviceInfo():
c = wmi.WMI()
wql = "SELECT * FROM Win32_PnPEntity WHERE Manufacturer != 'Microsoft' AND NOT PNPDeviceID LIKE 'ROOT\\%'"
print ("All physical PNP devices")
for J in c.query(wql):
print(J)
Эта функция (запрос), как правило, возвращает все физические устройства PNP, вот пример вывода:Как извлечь конкретный атрибут из экземпляра Win32_PnPEntity?
instance of Win32_PnPEntity
{
Caption = "ACPI Lid";
ClassGuid = "{4d36e97d-e325-11ce-bfc1-08002be10318}";
ConfigManagerErrorCode = 0;
ConfigManagerUserConfig = FALSE;
CreationClassName = "Win32_PnPEntity";
Description = "ACPI Lid";
DeviceID = "ACPI\\PNP0C0D\\2&DABA3FF&3";
HardwareID = {"ACPI\\PNP0C0D", "*PNP0C0D"};
Manufacturer = "(Standard system devices)";
Name = "ACPI Lid";
PNPDeviceID = "ACPI\\PNP0C0D\\2&DABA3FF&3";
Status = "OK";
SystemCreationClassName = "Win32_ComputerSystem";
SystemName = "SUSDUTTA-LAP";
};
Вопрос, если я хочу, чтобы извлечь только «PNPDeviceID» экземпляра, как сделать это в python, не меняя WQL?