Trying to get a list of all drivers on my system WITH their version details.

galen_burnett_7 1 Reputation point
2024-03-03T12:22:32.3533333+00:00

I'm preparing to Clean-Install Windows 11. I want to get a list of all my drivers I have currently installed so that I can compare it with a second list I would make after doing the reinstallation, so that I can be sure I haven't missed any drivers in that reinstallation. I know that "driverquery/v" in Command Prompt will give me the names of the drivers. This Power Shell command "Get-WmiObject Win32_PnPSignedDriver | select devicename, driverversion", which I read somewhere is what someone on Windows 7 would run for this, does actually return the version details, but it seemingly only returns entries for half of the drivers; it gives a list of about 200 drivers whereas the "driverquery/v" command gives about 400.

Windows 11
Windows 11
A Microsoft operating system designed for productivity, creativity, and ease of use.
9,477 questions
0 comments No comments
{count} votes

3 answers

Sort by: Most helpful
  1. Erik Moreau 581 Reputation points MVP
    2024-03-03T13:04:22.31+00:00

    Hi Galen,

    The discrepancy between the output of driverquery /v and Get-WmiObject Win32_PnPSignedDriver | Select Description, DeviceName, DriverVersion lies in their underlying mechanisms and the information they retrieve. Let’s delve into the details:

    1. driverquery /v: This command provides an extensive list of drivers, including additional details such as whether a driver is currently running. It is suitable for advanced users who require comprehensive information.

    If you want a more detailed list of drivers, you can use this command:

    driverquery /FO list /v

    This command shows more information about each driver, such as its status (running or not).

    1. Get-WmiObject Win32_PnPSignedDriver | Select Description, DeviceName, DriverVersion: This PowerShell command retrieves information specifically from the Win32_PnPSignedDriver class. It selects and displays only the Description, DeviceName, and DriverVersion properties. The DriverVersion property contains the version number of the driver. If you want to sort the results by version, you can use a calculated property to cast the driver version as [version] and then sort accordingly

    In summary, the difference lies in the level of detail and the specific properties retrieved by each command. While driverquery /v provides a more comprehensive list, the PowerShell command focuses on specific properties related to signed drivers.


  2. Ian Xue 36,336 Reputation points Microsoft Vendor
    2024-03-06T06:54:10.39+00:00

    Hi galen_burnett_7,

    I think the Win32_PnPSignedDriver class only gets the Plug and Play drivers for the Plug and Play devices. You can check the difference between the two results.

    Best Regards,

    Ian Xue


    If the Answer is helpful, please click "Accept Answer" and upvote it.


  3. galen_burnett_7 1 Reputation point
    2024-03-07T04:10:59.2433333+00:00
    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.