Anyone know if an equivalent of lspci exists for Windows?

lspci is a really nice Linux command to list all the device info on the pci bus. This tells you exactly what chipsets are present in video, network, and audio devices. Since companies like Dell allow you to choose from a couple of different network and video options it would really help when trying to figure out how the system you're working on is configured when the system is missing drivers.


I don't know about a command that will do this, but there are a number of programs that will do this. My favorite is SIW. They have an installable version as well as a standalone version.

  • +1 for SIW (stupid 15 characters) – Mark Henderson Jan 18 '10 at 0:49
  • I tried this one out and it seems to do what I need. Thanks. I also found another one called SIV. rh-software.com SIW seems be a bit more professional but both are capable of identifying the chipsets on the PCI bus. You wonder why Windows Device manager can't manage to get you this information. "Unknown Network Device" doesn't help anyone get it working. – 3dinfluence Jan 18 '10 at 0:53
  • Glad to help. You've got to love Merlin on the rh-software.com page. Ahhh... the good old days of Microsoft Agent. ;) – joeqwerty Jan 18 '10 at 1:01

There is what seems to be an lspci (and setpci) port for Windows, which is awesome.


Example to generate a system toplogy log in various verbosity:

echo lspci simple list > lspci_topo.log
lspci -M -nn >> lspci_topo.log
echo. >> lspci_topo.log

echo lspci tree >> lspci_topo.log
lspci -t -vv -nn >> lspci_topo.log
echo. >> lspci_topo.log

echo lspci detailed list >> lspci_topo.log
lspci -M -vv -nn >> lspci_topo.log
echo. >> lspci_topo.log

echo lspci AMD and Nvidia GPU raw hex config space >> lspci_topo.log
lspci -mm -d 1002: -v -xxx -nn >> lspci_topo.log
lspci -mm -d 1022: -v -xxx -nn >> lspci_topo.log
lspci -mm -d 10DE: -v -xxx -nn >> lspci_topo.log
  • 1
    Really nice to be able to compare how devices are set up in Windows and in Linux. – Rolf Apr 18 '18 at 11:01
  • I tried this but it only shows motherboard devices. It does not show any PCI cards like GPU, NIC, or HBA – Elliott B Sep 3 '20 at 20:24
  • @ElliottB you have to add additional switches to list the full tree of devices. – Kevin Mar 29 at 21:17

As far I know, there is no way to do that in command line in windows.

Windows has Windows Management Instrumentation command line (wmic) where you could list processes and some hardware listing.

In order to identify hardware components I use HWiNFO freeware. I've been using it for 15 years for this purpose. It's a malware-free solution.

  • 3
    +1. I used wmic path win32_pnpentity where "deviceid like '%PCI%'" get name,deviceid, which I found here. – myrdd Jul 23 '18 at 11:22
  • Indeed, wmic is how you work with WMI from command line. If you can do something via WMI, you can do this with wmic. – George Sovetov Apr 17 '19 at 10:43

Take a look at Win32_PnPEntity and Win32_Bus WMI classes:

PS C:\Users\Administrator> (gwmi Win32_Bus -Filter 'DeviceID like "PCI%"').GetRelated('Win32_PnPEntity').GetDeviceProperties('DEVPKEY_Device_LocationInfo').deviceProperties | ft data,DeviceID

data                             DeviceID
----                             --------
PCI bus 0, device 1, function 0  PCI\VEN_8086&DEV_7000&SUBSYS_00000000&REV_00\3&267A616A&0&08
PCI bus 0, device 4, function 0  PCI\VEN_80EE&DEV_CAFE&SUBSYS_00000000&REV_00\3&267A616A&0&20
PCI bus 0, device 13, function 0 PCI\VEN_8086&DEV_2829&SUBSYS_00000000&REV_02\3&267A616A&0&68
PCI bus 0, device 0, function 0  PCI\VEN_8086&DEV_1237&SUBSYS_00000000&REV_02\3&267A616A&0&00
PCI bus 0, device 3, function 0  PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&18
PCI bus 0, device 8, function 0  PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&40
PCI bus 0, device 9, function 0  PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&48
PCI bus 0, device 10, function 0 PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&50
PCI bus 0, device 16, function 0 PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&80
PCI bus 0, device 17, function 0 PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&88
PCI bus 0, device 18, function 0 PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&90
PCI bus 0, device 19, function 0 PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&98
PCI bus 0, device 2, function 0  PCI\VEN_80EE&DEV_BEEF&SUBSYS_00000000&REV_00\3&267A616A&0&10

More on this here.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.