How to Query and Export Installed Third-Party Drivers in Windows 11 Using PowerShell

Maintaining device stability in Windows 11 requires strict governance over installed device drivers. Over time, graphics cards, audio chipsets, peripheral controllers, network interfaces, and motherboard sensors accumulate numerous OEM driver packages. When planning a clean Windows reinstallation, performing hardware migrations, auditing driver versions for security vulnerabilities, or diagnosing blue screen (BSOD) stop errors, relying on Device Manager is slow and cumbersome. Device Manager lacks native batch export capabilities and hides vital driver INF catalog metadata.

Fortunately, the built-in Windows DISM (Deployment Image Servicing and Management) module in PowerShell includes dedicated, native cmdlets: Get-WindowsDriver and Export-WindowsDriver. These tools allow IT administrators and power users to audit active drivers and extract complete, deployable driver packages (including .inf, .sys, .cat, and associated .dll binaries) straight from the running operating system. This comprehensive guide walks you through querying, filtering, and exporting installed third-party drivers in Windows 11 using PowerShell.

Understanding Get-WindowsDriver and the Windows Driver Store

When third-party drivers are installed in Windows 11, the operating system copies the verified installation packages into a protected repository known as the Driver Store, located at C:\Windows\System32\DriverStore\FileRepository. Each package is assigned a published identifier formatted as oemXX.inf (e.g. oem12.inf).

The Get-WindowsDriver cmdlet queries the active system image (via the -Online parameter) and pulls structured objects directly from the driver store. Unlike generic WMI queries (such as Get-CimInstance Win32_PnPSignedDriver), DISM cmdlets interact directly with the servicing engine, allowing seamless export and offline image injection.

If you are troubleshooting system stability issues following driver updates, see our walkthrough on how to configure memory dump and crash control settings in Windows 11 using PowerShell.

Querying All Installed Third-Party Drivers

To inspect third-party OEM drivers currently active on your machine:

  1. Press Win + X and select Terminal (Admin) or launch an elevated PowerShell console.
  2. Execute Get-WindowsDriver with the -Online flag:
    Get-WindowsDriver -Online
  3. PowerShell will query the servicing database and output all non-Microsoft driver packages.

Each returned record contains crucial servicing telemetry:

  • Driver: The published name in the Windows Driver Store (e.g. oem4.inf).
  • OriginalFileName: The original vendor-supplied INF file name (e.g. nv_dispi.inf or netwtw10.inf).
  • Inbox: A boolean value indicating whether the driver shipped inbox with Windows (False confirms it is a third-party OEM package).
  • ClassName: Hardware device class (e.g. Display, Net, MEDIA, Bluetooth).
  • ProviderName: The hardware vendor (e.g. NVIDIA, Intel Corporation, Realtek).
  • Date: The timestamp assigned by the manufacturer.
  • Version: The exact driver release version.

Filtering Drivers by Class, Vendor, and Date

Because modern computers often contain 50 to 150 third-party driver packages, filtering helps isolate specific subsystems:

1. Listing Display and Graphics Drivers

Get-WindowsDriver -Online | Where-Object { $_.ClassName -eq "Display" } | Format-Table Driver, ProviderName, Date, Version -AutoSize

2. Filtering Network Adapters

Get-WindowsDriver -Online | Where-Object { $_.ClassName -eq "Net" } | Select-Object Driver, ProviderName, OriginalFileName, Version

To manage sleep and energy behavior on these network adapters, explore our guide on how to manage network adapter power management settings in Windows 11 using PowerShell.

3. Finding Drivers Older Than a Specific Year

Outdated drivers are a primary source of hardware instability and kernel panics. Filter for legacy drivers:

Get-WindowsDriver -Online | Where-Object { $_.Date -lt (Get-Date "2022-01-01") } | Select-Object Driver, ClassName, ProviderName, Date

Exporting Drivers to an Offline Backup Directory

Before wiping your PC or upgrading storage drives, you can back up every third-party driver using Export-WindowsDriver. This extracts clean, uncompressed driver folders that can be imported immediately into a fresh installation or injected into custom Windows installation media (WIM/ISO):

  1. Create a destination folder on a secondary drive or USB flash drive:
    New-Item -ItemType Directory -Path "D:\DriverBackup" -Force
  2. Trigger the export operation:
    Export-WindowsDriver -Online -Destination "D:\DriverBackup"
  3. PowerShell will cycle through the Driver Store, copying each INF package and its corresponding binaries into dedicated subfolders named after the INF file.
  4. Once complete, verify the extracted backup size and file count:
    Get-ChildItem -Path "D:\DriverBackup" | Measure-Object

Restoring and Installing Exported Drivers on a Fresh Windows Installation

Once you install a fresh copy of Windows 11 on the machine, you do not need to download dozens of separate vendor setup utilities. You can restore your entire hardware driver inventory in a single pass using the built-in PnPutil command-line tool:

  1. Connect your backup storage containing D:\DriverBackup.
  2. Open an elevated PowerShell prompt.
  3. Run the recursive driver installation command:
    pnputil.exe /add-driver "D:\DriverBackup\*.inf" /subdirs /install
  4. Windows will parse every subfolder, stage the verified INF packages into the Driver Store, and match them with connected hardware devices automatically.

If you build modern desktop or enterprise apps on these configured workstations, see also how to enable AppContainer loopback exemptions in Windows 11 using CheckNetIsolation.

Troubleshooting Common Get-WindowsDriver Dilemmas

1. Cmdlet Fails with “Elevated Permissions Required”

The DISM subsystem accesses protected registry hives and the root driver repository. Ensure PowerShell was launched via Run as administrator. Standard user shells will fail with DISM /Get-Drivers failed. Error: 0x80070005 (Access is denied).

2. Export-WindowsDriver Hangs or Reports Locked Files

If an active antivirus scanner or third-party file watcher locks destination files during export, specify an exclusion path or execute the export while booted into Windows PE / Recovery environment targeting the offline Windows partition:

Export-WindowsDriver -Path "C:\" -Destination "D:\DriverBackup"

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.