Monday, 31 July 2017

Find missing driver or disabled device

At one point of our life, we all had an issue with a missing driver on our computer. A problem with the display not shown correctly because the driver installed is not the appropriate one. A problem with a network card or embedded WIFI card and so on …

GitHub link for this project:

However when we try to open the device manager, select our device and then proceed to an update driver software we always end up with this:

And we all know that the first option never works … 😊
But if we use the second option, how do we recognize the correct driver to download and install them manually later?

At this point, whether we go check all latest driver available on the manufacturer website and install all devices driver or get the PNP device ID in the device Manager and go check on the web what they’re saying about it and install the missing package according to what they say on forum etc ...

In this tool, I automated the second option:

- List all problem devices
- And propose to search on the web (via Internet Explorer, you can change it if you want) the PNP device ID selected in the list.
- The user can export a *.csv file which contains all information about problem devices.

The advantage of this tool is that you can use it on an end-user computer (he can execute it himself) and it doesn’t need admin rights to work.

How does it work?

The engine behind this tool is just a WMI query on the Win32_PNPEntity Class.

Get-WmiObject Win32_PNPEntity | Where-Object {$_.ConfigManagerErrorCode -gt 0 }

What is this class about?

The Win32_PnPEntity WMI class represents the properties of a Plug and Play device. Plug and Play entities are shown as entries in the Device Manager located in Control Panel.”: as it is said on Microsoft website.

To make it simple PNP device id is a description of a device component and it enabled the system to recognize them.

If you want to learn more about the Error codes in device manager, here is a good link.

A little preview:

A list of devices installed on your computer that may have a problem is displayed in detail on each pane (and their number), as follows:
  • The Caption column lists the common name for the device, or the name of the device driver associated with it.
  • The PNP Device ID column lists device IDs, such as Peripheral Component Interconnect (PCI) ID, ISA ID, an ID for some other bus type, or an unknown type.
  •  The Manufacturer column shows the fabricant or unknown if the result query is empty.
  • The Error Code column lists the error code associated with this specific problem.

Quick links

Using MsInfo32

It will list the same thing as the device missing driver in the list of “Missing driver”. It’s a tool that provides information and diagnose issues found on the computer. Expand the Components tab and then double-click Problem Devices

Using Dxdiag

This tool enables you to collect all information on computer to facilitate the resolution of audio data and video

Using device manager

Device Manager provides you with information about how the hardware on your computer is installed and configured.

This project is still maintained since I want to improve the ergonomic aspect of the tool and some other stuff …

Thanks for reading guys and good powershelling! 😊



  1. The GitHub project link points to PsDialogManager, not PsDriverManager.

    This is probably the project you meant:


Popular Posts


Contact Form


Email *

Message *