Pnputil is not one of those commands you’ll need very often, but it can be amazingly helpful when it a situation arises. Pnputil allosws a user to manage the driver store form the command line.
Recently, I was able to use it in two different situations which made things easier for me and the customers. The first situation was where a customer came in saying their Netgear wireless card would not install with the driver cd. Of course, the driver disc was for Windows XP, not the Windows 7 they were running. So I downloaded the drivers from the Netgear website and extracted the contents of the file to the directory on the desktop. The file only contained the driver and .inf file; instead of letting the customer figure out how to manually install the drivers, I opened up an administrative command prompt, navigated to the desktop, and ran pnputil -a NetgearDriver.inf.
The next example was during a Vista Home Premium install, where the imagex did not have AHCI drivers so the Vista imagex would just Blue screen during the boot process. To fix the problem, I disable AHCI in the BIOs, and rebooted the computer. When the Out-Of-Box experience started, I bypassed it for audit mode. Once in Sysprep’s audit mode, I installed all the missing drivers and used pnputil to install the AHCI drivers from the manufacturer’s website. The drivers were just the inf and sys files, so the simpiest way was with pnputil – ex: pnputil -a c:driversahci.inf. This added the drivers to the store, then I resealed the OS, and shutdown the unit. Next, I booted the BIOs, reset the AHCI settings and went through the OOBE, with no problems.
Pnpuntil can used to remove drivers from the driver store — pnptuil -d driver.inf
Force delete driver — pnputil -f -d driver.inf
Enumerate third party drivers — pnputil -e