If you’re about to reinstall Windows, move to new hardware, or build a WinPE recovery USB, it’s handy to grab a copy of your installed third‑party drivers first. Windows has built-in tooling for this—no third‑party “driver backup” apps required.

This post shows three reliable ways to export drivers:

  • PowerShell (DISM module): Export-WindowsDriver (best all-around)
  • DISM (command line): dism /online /export-driver (same idea, different interface)
  • PnPUtil: pnputil /export-driver (exports from the driver store)

Note: Export-WindowsDriver exports third-party drivers from the image, not Microsoft in-box drivers.


What you’ll get (and what you won’t)

An export is typically a folder tree containing .inf files plus their associated binaries (like .sys, .dll, catalogs, etc.). This is perfect for:

  • Reinstalling drivers after a clean install (especially offline)
  • Injecting drivers into an offline Windows image / WinPE workflow
  • Keeping a “known good” driver set for a specific PC model

What you generally won’t get:

  • Drivers that only ship as vendor installers (.exe / .msi) without a standard INF-based package
  • Full OEM utilities/control panels that come with some device bundles

Method 1: Export drivers from the running Windows install (recommended)

This is the simplest and most reliable approach for backing up drivers from your current system:

# Pick a destination folder (external drive recommended)
$Dest = "D:\DriverBackup"

# Create it if it doesn't exist
New-Item -ItemType Directory -Path $Dest -Force | Out-Null

# Export third-party drivers from the running OS
Export-WindowsDriver -Online -Destination $Dest

Quick verification

Get-ChildItem -Path $Dest -Recurse -Filter *.inf |
  Select-Object -First 20 FullName

If you see many .inf files, your export worked.


Method 2: Export drivers from an offline Windows image (WinPE-friendly)

If you’re booted into WinPE/WinRE, or you’ve mounted an offline Windows image, you can export drivers from that offline path:

$OfflinePath = "C:\offline-image"   # path where the offline Windows is mounted
$Dest        = "D:\DriverBackup"

New-Item -ItemType Directory -Path $Dest -Force | Out-Null
Export-WindowsDriver -Path $OfflinePath -Destination $Dest

This is ideal for recovery disks, offline servicing, and WinPE automation workflows.


Method 3: Export drivers from the Driver Store with PnPUtil

Windows also includes PnPUtil, which can export driver packages directly from the driver store:

$Dest = "D:\DriverBackup"
New-Item -ItemType Directory -Path $Dest -Force | Out-Null

pnputil /export-driver * $Dest

To list what’s currently in the driver store:

pnputil /enum-drivers

Restoring drivers after reinstall

Option A: Install all exported drivers automatically

pnputil /add-driver "D:\DriverBackup\*.inf" /subdirs /install

Option B: Manual install via Device Manager

  1. Open Device Manager
  2. Right-click the device → Update driver
  3. Select Browse my computer for drivers
  4. Point it at your driver backup folder

Tips and gotchas

  • Always run PowerShell as Administrator
  • Store backups on an external drive or separate partition
  • Keep a consistent folder path for automation scripts
  • Exports include third-party drivers only
  • Vendor installer-only drivers (.exe / .msi) will not export

References

  • Microsoft Docs – Export-WindowsDriver (DISM PowerShell Module)
    https://learn.microsoft.com/en-us/powershell/module/dism/export-windowsdriver

  • Microsoft Docs – PnPUtil Command Syntax
    https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/pnputil-command-syntax

  • The Windows Club – Export and Backup Device Drivers using PowerShell
    https://www.thewindowsclub.com/export-and-backup-device-drivers-in-windows-10-using-powershell