close

最近閒閒來玩一下python

從這個範例改一下就可以找到系統上你要的device詳細資訊

https://www.daniweb.com/programming/software-development/threads/372815/how-to-check-available-usb-ports-in-windows

python version 3.7

要先安裝 win32com library

 

因為我是query PCI device 所以在條件加了 WHERE DeviceID like '%PCI%'

import win32com.client
def WMIDateStringToDate(dtmDate):
strDateTime = ""
if (dtmDate[4] == 0):
strDateTime = dtmDate[5] + '/'
else:
strDateTime = dtmDate[4] + dtmDate[5] + '/'
if (dtmDate[6] == 0):
strDateTime = strDateTime + dtmDate[7] + '/'
else:
strDateTime = strDateTime + dtmDate[6] + dtmDate[7] + '/'
strDateTime = strDateTime + dtmDate[0] + dtmDate[1] + dtmDate[2] \
+ dtmDate[3] + " " + dtmDate[8] + dtmDate[9] + ":" \
+ dtmDate[10] + dtmDate[11] +':' + dtmDate[12] + dtmDate[13]
return strDateTime
strComputer = "."
objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")
objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2")
colItems = objSWbemServices.ExecQuery("SELECT * FROM Win32_PnPEntity "
"WHERE DeviceID like '%PCI%'")
for objItem in colItems:
if objItem.Availability != None:
print( "Availability:" + objItem.Availability)
if objItem.Caption != None:
print ("Caption:" + objItem.Caption)
if objItem.ClassGuid != None:
print ("ClassGuid:" + objItem.ClassGuid)
if objItem.ConfigManagerErrorCode != None:
print ("ConfigManagerErrorCode:" + str(objItem.ConfigManagerErrorCode))
if objItem.ConfigManagerUserConfig != None:
print ("ConfigManagerUserConfig:" + str(objItem.ConfigManagerUserConfig))
if objItem.CreationClassName != None:
print ("CreationClassName:" + objItem.CreationClassName)
if objItem.Description != None:
print ("Description:" + objItem.Description)
if objItem.DeviceID != None:
print ("DeviceID:" + objItem.DeviceID)
if objItem.ErrorCleared != None:
print ("ErrorCleared:" + objItem.ErrorCleared)
if objItem.ErrorDescription != None:
print ("ErrorDescription:" + objItem.ErrorDescription)
if objItem.InstallDate != None:
print ("InstallDate:" + WMIDateStringToDate(objItem.InstallDate))
if objItem.LastErrorCode != None:
print ("LastErrorCode:" + objItem.LastErrorCode)
if objItem.Manufacturer != None:
print ("Manufacturer:" + objItem.Manufacturer)
if objItem.Name != None:
print ("Name:" + objItem.Name)
if objItem.PNPDeviceID != None:
print ("PNPDeviceID:" + objItem.PNPDeviceID)
print ("PowerManagementCapabilities:")
strList = " "
try :
for objElem in objItem.PowerManagementCapabilities :
strList = strList + 'objElem' + ","
except:
strList = strList + 'null'
print (strList.__str__())
if objItem.PowerManagementSupported != None:
print ("PowerManagementSupported:" + objItem.PowerManagementSupported)
if objItem.Service != None:
print ("Service:" + objItem.Service)
if objItem.Status != None:
print ("Status:" + objItem.Status)
if objItem.StatusInfo != None:
print ("StatusInfo:" + objItem.StatusInfo)
if objItem.SystemCreationClassName != None:
print ("SystemCreationClassName:" + objItem.SystemCreationClassName)
if objItem.SystemName != None:
print ("SystemName:" + objItem.SystemName)

得到結果如下

 

Caption:Intel(R) 6 Series/C200 Series Chipset Family USB Enhanced Host Controller - 1C26
ClassGuid:{36fc9e60-c465-11cf-8056-444553540000}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:Intel(R) 6 Series/C200 Series Chipset Family USB Enhanced Host Controller - 1C26
DeviceID:PCI\VEN_8086&DEV_1C26&SUBSYS_FCD01179&REV_04\3&11583659&0&E8
Manufacturer:Intel
Name:Intel(R) 6 Series/C200 Series Chipset Family USB Enhanced Host Controller - 1C26
PNPDeviceID:PCI\VEN_8086&DEV_1C26&SUBSYS_FCD01179&REV_04\3&11583659&0&E8
PowerManagementCapabilities:
null
Service:usbehci
Status:OK
SystemCreationClassName:Win32_ComputerSystem
SystemName:ARNOHSU-PC
Caption:Renesas USB 3.0 可延伸主機控制器 - 0.96 (Microsoft)
ClassGuid:{36fc9e60-c465-11cf-8056-444553540000}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:USB xHCI 相容的主機控制器
DeviceID:PCI\VEN_1033&DEV_0194&SUBSYS_FCD01179&REV_04\4&326F7376&0&00E1
Manufacturer:泛型 USB xHCI 主機控制器
Name:Renesas USB 3.0 可延伸主機控制器 - 0.96 (Microsoft)
PNPDeviceID:PCI\VEN_1033&DEV_0194&SUBSYS_FCD01179&REV_04\4&326F7376&0&00E1
PowerManagementCapabilities:
null
Service:USBXHCI
Status:OK
SystemCreationClassName:Win32_ComputerSystem
SystemName:ARNOHSU-PC
Caption:Xeon E3-1200/2nd Generation Intel(R) Core(TM) Processor Family PCI Express Root Port - 0101
ClassGuid:{4d36e97d-e325-11ce-bfc1-08002be10318}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:Xeon E3-1200/2nd Generation Intel(R) Core(TM) Processor Family PCI Express Root Port - 0101
DeviceID:PCI\VEN_8086&DEV_0101&SUBSYS_FCD01179&REV_09\3&11583659&0&08
Manufacturer:Intel
Name:Xeon E3-1200/2nd Generation Intel(R) Core(TM) Processor Family PCI Express Root Port - 0101
PNPDeviceID:PCI\VEN_8086&DEV_0101&SUBSYS_FCD01179&REV_09\3&11583659&0&08
PowerManagementCapabilities:
null
Service:pci
Status:OK
SystemCreationClassName:Win32_ComputerSystem
SystemName:ARNOHSU-PC
Caption:Intel(R) 6 Series/C200 Series Chipset Family PCI Express Root Port 6 - 1C1A
ClassGuid:{4d36e97d-e325-11ce-bfc1-08002be10318}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:Intel(R) 6 Series/C200 Series Chipset Family PCI Express Root Port 6 - 1C1A
DeviceID:PCI\VEN_8086&DEV_1C1A&SUBSYS_FCD01179&REV_B4\3&11583659&0&E5
Manufacturer:Intel
Name:Intel(R) 6 Series/C200 Series Chipset Family PCI Express Root Port 6 - 1C1A
PNPDeviceID:PCI\VEN_8086&DEV_1C1A&SUBSYS_FCD01179&REV_B4\3&11583659&0&E5
PowerManagementCapabilities:
null
Service:pci
Status:OK
SystemCreationClassName:Win32_ComputerSystem
SystemName:ARNOHSU-PC
Caption:Qualcomm Atheros AR8151 PCI-E Gigabit Ethernet Controller (NDIS 6.20)
ClassGuid:{4d36e972-e325-11ce-bfc1-08002be10318}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:Qualcomm Atheros AR8151 PCI-E Gigabit Ethernet Controller (NDIS 6.20)
DeviceID:PCI\VEN_1969&DEV_1083&SUBSYS_FCD01179&REV_C0\4&13FB76A6&0&00E6
Manufacturer:Qualcomm Atheros
Name:Qualcomm Atheros AR8151 PCI-E Gigabit Ethernet Controller (NDIS 6.20)
PNPDeviceID:PCI\VEN_1969&DEV_1083&SUBSYS_FCD01179&REV_C0\4&13FB76A6&0&00E6
PowerManagementCapabilities:
null
Service:L1C
Status:OK
SystemCreationClassName:Win32_ComputerSystem
SystemName:ARNOHSU-PC
Caption:High Definition Audio 控制器
ClassGuid:{4d36e97d-e325-11ce-bfc1-08002be10318}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:High Definition Audio 控制器
DeviceID:PCI\VEN_8086&DEV_1C20&SUBSYS_FCD01179&REV_04\3&11583659&0&D8
Manufacturer:Microsoft
Name:High Definition Audio 控制器
PNPDeviceID:PCI\VEN_8086&DEV_1C20&SUBSYS_FCD01179&REV_04\3&11583659&0&D8
PowerManagementCapabilities:
null
Service:HDAudBus
Status:OK
SystemCreationClassName:Win32_ComputerSystem
SystemName:ARNOHSU-PC
Caption:Atheros AR9002WB-1NG Wireless Network Adapter
ClassGuid:{4d36e972-e325-11ce-bfc1-08002be10318}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:Qualcomm Atheros AR9002WB-1NG Wireless Network Adapter
DeviceID:PCI\VEN_168C&DEV_002B&SUBSYS_661311AD&REV_01\4&4641646&0&00E5
Manufacturer:Qualcomm Atheros Communications Inc.
Name:Atheros AR9002WB-1NG Wireless Network Adapter
PNPDeviceID:PCI\VEN_168C&DEV_002B&SUBSYS_661311AD&REV_01\4&4641646&0&00E5
PowerManagementCapabilities:
null
Service:athr
Status:OK
SystemCreationClassName:Win32_ComputerSystem
SystemName:ARNOHSU-PC
Caption:Intel(R) Mobile Express Chipset SATA AHCI Controller
ClassGuid:{4d36e96a-e325-11ce-bfc1-08002be10318}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:Intel(R) Mobile Express Chipset SATA AHCI Controller
DeviceID:PCI\VEN_8086&DEV_1C03&SUBSYS_FCD01179&REV_04\3&11583659&0&FA
Manufacturer:Intel
Name:Intel(R) Mobile Express Chipset SATA AHCI Controller
PNPDeviceID:PCI\VEN_8086&DEV_1C03&SUBSYS_FCD01179&REV_04\3&11583659&0&FA
PowerManagementCapabilities:
null
Service:iaStor
Status:OK
SystemCreationClassName:Win32_ComputerSystem
SystemName:ARNOHSU-PC
Caption:Intel(R) Management Engine Interface
ClassGuid:{4d36e97d-e325-11ce-bfc1-08002be10318}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:Intel(R) Management Engine Interface
DeviceID:PCI\VEN_8086&DEV_1C3A&SUBSYS_FCD01179&REV_04\3&11583659&0&B0
Manufacturer:Intel
Name:Intel(R) Management Engine Interface
PNPDeviceID:PCI\VEN_8086&DEV_1C3A&SUBSYS_FCD01179&REV_04\3&11583659&0&B0
PowerManagementCapabilities:
null
Service:MEIx64
Status:OK
SystemCreationClassName:Win32_ComputerSystem
SystemName:ARNOHSU-PC
Caption:Intel(R) 6 Series/C200 Series Chipset Family PCI Express Root Port 7 - 1C1C
ClassGuid:{4d36e97d-e325-11ce-bfc1-08002be10318}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:Intel(R) 6 Series/C200 Series Chipset Family PCI Express Root Port 7 - 1C1C
DeviceID:PCI\VEN_8086&DEV_1C1C&SUBSYS_FCD01179&REV_B4\3&11583659&0&E6
Manufacturer:Intel
Name:Intel(R) 6 Series/C200 Series Chipset Family PCI Express Root Port 7 - 1C1C
PNPDeviceID:PCI\VEN_8086&DEV_1C1C&SUBSYS_FCD01179&REV_B4\3&11583659&0&E6
PowerManagementCapabilities:
null
Service:pci
Status:OK
SystemCreationClassName:Win32_ComputerSystem
SystemName:ARNOHSU-PC
Caption:Intel(R) 6 Series/C200 Series Chipset Family PCI Express Root Port 1 - 1C10
ClassGuid:{4d36e97d-e325-11ce-bfc1-08002be10318}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:Intel(R) 6 Series/C200 Series Chipset Family PCI Express Root Port 1 - 1C10
DeviceID:PCI\VEN_8086&DEV_1C10&SUBSYS_FCD01179&REV_B4\3&11583659&0&E0
Manufacturer:Intel
Name:Intel(R) 6 Series/C200 Series Chipset Family PCI Express Root Port 1 - 1C10
PNPDeviceID:PCI\VEN_8086&DEV_1C10&SUBSYS_FCD01179&REV_B4\3&11583659&0&E0
PowerManagementCapabilities:
null
Service:pci
Status:OK
SystemCreationClassName:Win32_ComputerSystem
SystemName:ARNOHSU-PC
Caption:Synaptics SMBus Driver
ClassGuid:{4d36e97d-e325-11ce-bfc1-08002be10318}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:Synaptics SMBus Driver
DeviceID:PCI\VEN_8086&DEV_1C22&SUBSYS_FCD01179&REV_04\3&11583659&0&FB
Manufacturer:Synaptics
Name:Synaptics SMBus Driver
PNPDeviceID:PCI\VEN_8086&DEV_1C22&SUBSYS_FCD01179&REV_04\3&11583659&0&FB
PowerManagementCapabilities:
null
Service:SmbDrvI
Status:OK
SystemCreationClassName:Win32_ComputerSystem
SystemName:ARNOHSU-PC
Caption:High Definition Audio 控制器
ClassGuid:{4d36e97d-e325-11ce-bfc1-08002be10318}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:High Definition Audio 控制器
DeviceID:PCI\VEN_10DE&DEV_0BEA&SUBSYS_FCD01179&REV_A1\4&C0EAE35&0&0108
Manufacturer:Microsoft
Name:High Definition Audio 控制器
PNPDeviceID:PCI\VEN_10DE&DEV_0BEA&SUBSYS_FCD01179&REV_A1\4&C0EAE35&0&0108
PowerManagementCapabilities:
null
Service:HDAudBus
Status:OK
SystemCreationClassName:Win32_ComputerSystem
SystemName:ARNOHSU-PC
Caption:Intel(R) 6 Series/C200 Series Chipset Family PCI Express Root Port 2 - 1C12
ClassGuid:{4d36e97d-e325-11ce-bfc1-08002be10318}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:Intel(R) 6 Series/C200 Series Chipset Family PCI Express Root Port 2 - 1C12
DeviceID:PCI\VEN_8086&DEV_1C12&SUBSYS_FCD01179&REV_B4\3&11583659&0&E1
Manufacturer:Intel
Name:Intel(R) 6 Series/C200 Series Chipset Family PCI Express Root Port 2 - 1C12
PNPDeviceID:PCI\VEN_8086&DEV_1C12&SUBSYS_FCD01179&REV_B4\3&11583659&0&E1
PowerManagementCapabilities:
null
Service:pci
Status:OK
SystemCreationClassName:Win32_ComputerSystem
SystemName:ARNOHSU-PC
Caption:Intel(R) HM65 Express Chipset Family LPC Interface Controller - 1C49
ClassGuid:{4d36e97d-e325-11ce-bfc1-08002be10318}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:Intel(R) HM65 Express Chipset Family LPC Interface Controller - 1C49
DeviceID:PCI\VEN_8086&DEV_1C49&SUBSYS_FCD01179&REV_04\3&11583659&0&F8
Manufacturer:Intel
Name:Intel(R) HM65 Express Chipset Family LPC Interface Controller - 1C49
PNPDeviceID:PCI\VEN_8086&DEV_1C49&SUBSYS_FCD01179&REV_04\3&11583659&0&F8
PowerManagementCapabilities:
null
Service:msisadrv
Status:OK
SystemCreationClassName:Win32_ComputerSystem
SystemName:ARNOHSU-PC
Caption:Intel(R) 6 Series/C200 Series Chipset Family USB Enhanced Host Controller - 1C2D
ClassGuid:{36fc9e60-c465-11cf-8056-444553540000}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:Intel(R) 6 Series/C200 Series Chipset Family USB Enhanced Host Controller - 1C2D
DeviceID:PCI\VEN_8086&DEV_1C2D&SUBSYS_FCD01179&REV_04\3&11583659&0&D0
Manufacturer:Intel
Name:Intel(R) 6 Series/C200 Series Chipset Family USB Enhanced Host Controller - 1C2D
PNPDeviceID:PCI\VEN_8086&DEV_1C2D&SUBSYS_FCD01179&REV_04\3&11583659&0&D0
PowerManagementCapabilities:
null
Service:usbehci
Status:OK
SystemCreationClassName:Win32_ComputerSystem
SystemName:ARNOHSU-PC
Caption:NVIDIA GeForce GT 525M
ClassGuid:{4d36e968-e325-11ce-bfc1-08002be10318}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:NVIDIA GeForce GT 525M
DeviceID:PCI\VEN_10DE&DEV_0DEC&SUBSYS_FCD01179&REV_A1\4&C0EAE35&0&0008
Manufacturer:NVIDIA
Name:NVIDIA GeForce GT 525M
PNPDeviceID:PCI\VEN_10DE&DEV_0DEC&SUBSYS_FCD01179&REV_A1\4&C0EAE35&0&0008
PowerManagementCapabilities:
null
Service:nvlddmkm
Status:OK
SystemCreationClassName:Win32_ComputerSystem
SystemName:ARNOHSU-PC
Caption:2nd Generation Intel(R) Core(TM) Processor Family DRAM Controller - 0104
ClassGuid:{4d36e97d-e325-11ce-bfc1-08002be10318}
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_PnPEntity
Description:2nd Generation Intel(R) Core(TM) Processor Family DRAM Controller - 0104
DeviceID:PCI\VEN_8086&DEV_0104&SUBSYS_FCD01179&REV_09\3&11583659&0&00
Manufacturer:Intel
Name:2nd Generation Intel(R) Core(TM) Processor Family DRAM Controller - 0104
PNPDeviceID:PCI\VEN_8086&DEV_0104&SUBSYS_FCD01179&REV_09\3&11583659&0&00
PowerManagementCapabilities:
null

 
arrow
arrow
    全站熱搜

    coldspider 發表在 痞客邦 留言(0) 人氣()