pnputil add-driver driver.inf : la commande pour installer un pilote en français

Paulin Boissieu

mai 26, 2026

📋 L’essentiel à retenir sur pnputil /add-driver /install

pnputil est l’outil natif Windows pour gérer le magasin de pilotes sans interface graphique. La commande combinée /add-driver + /install permet en une seule ligne d’ajouter un pilote au système ET de l’appliquer immédiatement aux périphériques compatibles. Voici ce qu’il faut savoir :

Paramètre Rôle Quand l’utiliser
/add-driver Ajoute le fichier .inf au driver store Toujours, c’est la base
/install Déclenche l’installation immédiate Quand le matos est déjà branché
/subdirs Parcourt les sous-dossiers Pour traiter un dossier complet de drivers
/reboot Redémarrage automatique si requis En script de déploiement automatisé

Franchement, si tu galères avec des pilotes récalcitrants sous Windows, pnputil va te sauver des heures de bidouillage dans le gestionnaire de périphériques. C’est du brutal, du fiable, et ça marche aussi bien sur Windows 10 que Windows 11 en 2026.

À quoi sert concrètement pnputil /add-driver /install ?

Cette commande ajoute un pilote au driver store de Windows et tente de l’installer immédiatement sur tous les périphériques compatibles détectés, le tout en une seule ligne. C’est l’équivalent en ligne de commande de faire un clic droit → « Mettre à jour le pilote » dans le gestionnaire de périphériques, sauf que tu peux l’automatiser et le déployer en masse.

PnPUtil existe depuis Windows Vista, mais sa syntaxe a évolué. Si t’as connu le vieux pnputil -i -a driver.inf sous Windows 7, sache que depuis Windows 10 version 1607, Microsoft a standardisé la syntaxe avec des slashs et des mots complets : /add-driver, /install, etc. La vieille syntaxe avec tirets (-a, -i) fonctionne encore par rétrocompatibilité, mais autant prendre les bonnes habitudes.

Le driver store, c’est le coffre-fort où Windows stocke tous les pilotes tiers. Quand tu branches un nouveau périphérique, Windows fouille dedans pour trouver le meilleur pilote disponible. Sans /install, pnputil se contente de ranger le pilote dans ce coffre-fort. Avec /install, il va en plus réveiller tous les périphériques en attente et leur dire « hé, y’a un nouveau pilote dispo, tu veux tester ? ».

Quelle est la différence entre ajouter un pilote et l’installer ?

Ajouter un pilote le stocke dans le driver store pour une utilisation future ; l’installer le lie immédiatement à un périphérique physique. En clair, /add-driver sans /install prépare le terrain, alors qu’avec /install tu forces la main pour que Windows applique le pilote tout de suite.

Voici un tableau qui résume les deux comportements :

Commande Effet sur le driver store Effet sur le matériel
/add-driver sans /install ✅ Pilote stocké ❌ Aucun changement immédiat
/add-driver avec /install ✅ Pilote stocké ✅ Installation déclenchée

Dans la pratique, si tu prépares une image Windows pour déploiement (Sysprep, MDT, SCCM), tu utiliseras /add-driver seul. Les pilotes seront là, sagement rangés, et Windows les utilisera quand il détectera le matériel au premier démarrage. Par contre, si ton PC est déjà installé et que tu viens de télécharger le dernier pilote WiFi, tu voudras le combo /add-driver + /install pour que ça marche tout de suite.

Comment utiliser pnputil pour installer un pilote depuis un fichier .inf ?

Ouvre une invite de commandes en administrateur, tape pnputil /add-driver C:\chemin\driver.inf /install, et laisse Windows faire le reste. C’est la manipulation de base qui couvre 80% des besoins. Si ton pilote est valide et compatible, tu verras une confirmation en quelques secondes.

Mais allons plus loin, parce que dans la vraie vie, t’as rarement un seul fichier .inf qui t’attend sagement. Voici les trois cas les plus fréquents que je rencontre :

  • 🔹 Pilote unique avec .inf bien identifié : pnputil /add-driver C:\Drivers\Chipset\chipset.inf /install
  • 🔹 Dossier contenant plusieurs .inf : pnputil /add-driver "C:\Drivers\*.inf" /subdirs /install
  • 🔹 Besoin d’un redémarrage automatique : pnputil /add-driver C:\GPU\driver.inf /install /reboot

Le joker *.inf combiné à /subdirs est monstrueusement pratique. Tu télécharges le pack de pilotes de ton constructeur, tu extrais tout dans un dossier, et bim, une seule commande pour tout installer. PnPUtil va scanner récursivement tous les sous-dossiers, trouver chaque .inf, et tenter l’installation sur le matériel correspondant.

Petite astuce de terrain : mets toujours le chemin entre guillemets si y’a des espaces, sinon Windows va t’envoyer bouler avec une erreur incompréhensible. J’ai perdu une bonne demi-heure là-dessus un jour avant de comprendre que C:\Mes Drivers\ n’était pas digéré correctement.

⚠️ Point important : pnputil ne force jamais l’installation d’un pilote mal classé. Si Windows estime qu’un autre pilote déjà présent est mieux adapté (meilleure signature, version plus récente, correspondance d’ID matériel plus proche), il ignorera poliment ton nouveau pilote, même avec /install. C’est une sécurité pour éviter d’installer des drivers foireux, mais ça peut être frustrant quand tu SAIS que ton pilote est le bon.

Comment fonctionne le classement des pilotes sous Windows ?

Windows attribue un rang à chaque pilote en fonction de la signature numérique, de la date, de la version et de la précision de la correspondance avec l’ID matériel du périphérique. Le pilote avec le meilleur score gagne, point barre. PnPUtil ne contourne pas cette logique, il la respecte.

Voici les critères qui influencent le classement, du plus important au moins important :

  1. Signature du pilote : un pilote signé Microsoft (WHQL) est toujours prioritaire
  2. Correspondance de l’ID matériel : plus l’ID est spécifique, plus le score grimpe (ex: PCI\VEN_8086&DEV_15D3&SUBSYS_... > PCI\VEN_8086&DEV_15D3)
  3. Version du pilote : en dernier recours, la version la plus élevée l’emporte
  4. Date du pilote : rarement déterminant seul, mais entre deux pilotes non signés, Windows prend le plus récent

Pour vérifier quels pilotes sont actuellement en compétition pour un périphérique, tape pnputil /enum-devices /drivers. Tu verras la liste de tous les périphériques et les pilotes associés. Si tu veux examiner un périphérique précis, récupère son Instance ID dans le gestionnaire de périphériques (onglet Détails → Chemin d’accès à l’instance de périphérique) et lance :

pnputil /enum-devices /instanceid "PCI\VEN_10EC&DEV_8168&SUBSYS_..." /drivers

Le résultat te montrera exactement quel pilote est actif et pourquoi. Pratique pour diagnostiquer pourquoi ton nouveau driver ne prend pas le dessus.

Comment déployer massivement des pilotes avec pnputil et les sous-dossiers ?

La commande pnputil /add-driver "C:\Drivers\*.inf" /subdirs /install est le couteau suisse du déploiement de pilotes : elle scanne récursivement un dossier entier et installe tout ce qui est compatible. C’est la méthode privilégiée par les admins sys pour injecter des drivers après une installation Windows.

pnputil add-driver driver.inf installer

Si tu bosses dans le déploiement (MDT, SCCM, OSD), tu connais déjà ce pattern. Après avoir extrait le driver pack de ton fabricant (Dell, HP, Lenovo…), tu balances cette commande dans ta séquence de tâches et t’es tranquille. Le paramètre /subdirs fait tout le boulot de recherche, inutile de lister chaque .inf un par un.

Je te montre un exemple concret en PowerShell que j’utilise régulièrement :

$DriverPath = "C:\Temp\Lenovo_Drivers"
$LogFile = "C:\Windows\Temp\DriverInstall_$(Get-Date -Format 'yyyyMMdd_HHmmss').log"

# Installation massive avec log
Start-Process -FilePath pnputil.exe `
    -ArgumentList "/add-driver `"$DriverPath\*.inf`" /subdirs /install" `
    -Wait -RedirectStandardOutput $LogFile -NoNewWindow

Write-Host "Installation terminée. Log : $LogFile" -ForegroundColor Green

Le fait de logger la sortie dans un fichier avec horodatage, c’est pas du luxe : quand t’as 47 pilotes qui défilent, t’as vite fait d’en louper un qui plante. Et crois-moi, le jour où une carte réseau ne remonte pas après déploiement, t’es content d’avoir le log.

Pour les vieux de la vieille qui bossent encore en batch, cette variante avec forfiles fait le taf aussi :

forfiles /p C:\Drivers /s /m *.inf /c "cmd /c pnputil /add-driver @path /install"

Moins élégant, mais ça dépanne. Note que forfiles appelle pnputil pour chaque .inf individuellement, donc c’est plus lent que la méthode avec *.inf /subdirs qui traite tout en une seule passe.

Quelles sont les limites de pnputil /install que personne ne mentionne ?

La limite la plus frustrante est que pnputil ne peut pas forcer un pilote moins bien classé à s’installer, même si tu es certain qu’il est meilleur. Si Windows préfère son pilote générique de base à ton pilote constructeur flambant neuf, pnputil /install ne fera rien du tout.

Voici les autres limitations que j’ai découvertes à mes dépens au fil des années :

  • 🔸 Pas de désinstallation automatique de l’ancien pilote : pnputil installe par-dessus, mais ne nettoie pas les versions obsolètes. Avec le temps, ton driver store peut devenir un vrai capharnaüm.
  • 🔸 Nécessite absolument des droits administrateur : pas de contournement possible. Si t’es en session standard, la commande échoue sans négociation.
  • 🔸 Aucune installation sur des périphériques non détectés : si ton matériel n’est pas branché ou reconnu, /install ne sert à rien. Il faut d’abord que Windows voie le périphérique.
  • 🔸 Pas de gestion des dépendances : si ton pilote a besoin qu’un autre pilote (bus, contrôleur) soit installé avant, pnputil ne le saura pas et l’installation peut échouer silencieusement.
  • 🔸 Comportement imprévisible avec les pilotes non signés : sous Windows 10/11 avec Secure Boot activé, les pilotes non signés sont bloqués, point. pnputil ne te prévient même pas toujours clairement.

Pour la petite histoire, j’ai voulu une fois installer un pilote audio modifié (non signé) avec pnputil /install. La commande a retourné « Opération réussie », mais le pilote n’était nulle part. Zéro warning. Depuis, je vérifie systématiquement avec pnputil /enum-drivers après chaque installation.

Comment vérifier qu’un pilote a bien été installé après la commande ?

Tape pnputil /enum-drivers pour lister tous les pilotes du driver store et retrouver celui que tu viens d’installer grâce à son nom publié (ex: oem42.inf). Complète avec un coup d’œil dans le gestionnaire de périphériques pour confirmer la version active sur le matériel.

La procédure que j’applique après chaque installation de pilote :

  1. Lister les drivers récemment ajoutés : pnputil /enum-drivers | findstr /i "oem"
    Les pilotes tiers sont toujours nommés oemXX.inf. Le numéro le plus élevé est probablement celui que tu viens d’installer.
  2. Vérifier les propriétés du pilote : pnputil /enum-drivers /driver oem42.inf
    Tu verras la version, la date, le fournisseur, et les périphériques qui l’utilisent.
  3. Croiser avec le gestionnaire de périphériques : devmgmt.msc → clic droit sur le périphérique → Propriétés → Pilote. La version affichée doit correspondre à celle que tu as vue dans pnputil.
  4. Optionnel mais malin : redémarre si c’est un pilote critique (chipset, contrôleur de stockage). Certains pilotes nécessitent un reboot pour charger correctement, même si pnputil ne te l’a pas explicitement demandé.

Tu peux aussi exporter le pilote pour vérifier son intégrité :

pnputil /export-driver oem42.inf C:\Backup_Driver

Si l’export fonctionne, c’est que le pilote est correctement enregistré dans le driver store. Pratique pour faire une sauvegarde avant une migration ou une réinstallation.

PnPUtil vs PnPUnattend : lequel choisir pour quel scénario ?

PnPUtil est l’outil de maintenance et de post-installation ; PnPUnattend est réservé aux installations automatisées de Windows via fichier de réponses unattend.xml. Dans 95% des cas, si tu te poses la question, c’est pnputil qu’il te faut.

Les deux outils sont fournis par Microsoft, mais ils ne jouent pas du tout dans la même cour :

Critère pnputil.exe pnpunattend.exe
Quand l’utiliser Windows déjà installé Phase d’installation Windows (audit, OOBE)
Méthode Ligne de commande directe Fichier de config XML (unattend)
Installation immédiate Oui avec /install Non, prépare seulement le chemin des drivers
Usage typique Ajout ponctuel, dépannage Déploiement OS automatisé (SCCM/MDT)

En clair : t’es sur ton PC, tu veux installer un driver maintenant → pnputil. Tu prépares une image Windows qui va être déployée sur 500 postes avec des pilotes à injecter pendant l’installation → pnpunattend. C’est pas plus compliqué que ça.

J’ai vu trop d’articles mélanger les deux et recommander pnpunattend pour un usage courant. C’est une erreur. PnPUnattend ne fait qu’ajouter des chemins de recherche de pilotes dans le registre ; il n’exécute pas l’installation lui-même. Si tu le lances sur un Windows déjà installé, il ne se passera rien de visible.

Peut-on automatiser l’installation de pilotes avec pnputil dans un script ?

Oui, et c’est même l’un des usages les plus puissants de pnputil : tu peux l’intégrer dans n’importe quel script PowerShell, batch, ou séquence de tâches pour déployer des pilotes sans intervention humaine. La clé, c’est de gérer correctement les codes de retour et les logs.

Voici un template PowerShell robuste que j’ai peaufiné au fil de mes déploiements :

# Script d'installation automatisée de pilotes
param(
    [Parameter(Mandatory=$true)]
    [string]$DriverPath
)

$LogDir = "C:\Windows\Logs\Pilotes"
$TimeStamp = Get-Date -Format "yyyyMMdd_HHmmss"
$LogFile = "$LogDir\Install_$TimeStamp.log"

# Créer le dossier de logs si absent
if (-not (Test-Path $LogDir)) {
    New-Item -Path $LogDir -ItemType Directory -Force | Out-Null
}

Write-Host "Démarrage installation pilotes depuis $DriverPath" -ForegroundColor Cyan

$process = Start-Process -FilePath pnputil.exe `
    -ArgumentList "/add-driver `"$DriverPath\*.inf`" /subdirs /install" `
    -Wait -PassThru -RedirectStandardOutput $LogFile -NoNewWindow

if ($process.ExitCode -eq 0) {
    Write-Host "✅ Installation terminée avec succès" -ForegroundColor Green
    Write-Host "📋 Log : $LogFile" -ForegroundColor Gray
} elseif ($process.ExitCode -eq 3010) {
    Write-Host "⚠️ Un redémarrage est nécessaire (code 3010)" -ForegroundColor Yellow
} else {
    Write-Host "❌ Erreur lors de l'installation. Code: $($process.ExitCode)" -ForegroundColor Red
    Write-Host "Consultez le log pour le détail: $LogFile" -ForegroundColor Red
}

Ce qui est important dans ce script :

  • 🎯 Gestion du code de retour 3010 : c’est le code standard Windows pour « installation OK mais reboot requis ». Si tu l’ignores, tu risques de croire que tout va bien alors que le pilote attend un redémarrage pour fonctionner.
  • 📝 Logs systématiques avec horodatage : en cas de pépin, tu sais exactement ce qui s’est passé et quand.
  • 🔄 Paramétrage du chemin source : rend le script réutilisable pour différents lots de pilotes.

Tu peux pousser l’automatisation plus loin en couplant ça avec une détection du modèle de la machine via WMI, puis en dirigeant vers le bon dossier de pilotes. Mais ça, c’est un sujet pour un autre article.

Comment résoudre les erreurs fréquentes de pnputil /add-driver /install ?

Les trois erreurs les plus courantes sont : « Le fichier spécifié est introuvable » (chemin incorrect), « L’opération a réussi mais le pilote n’apparaît pas » (pilote mal classé), et « Accès refusé » (pas de droits admin). Voici comment les corriger en 30 secondes.

J’ai compilé ici les galères que je vois passer sur les forums et que j’ai moi-même rencontrées :

  • 🔴 Erreur « Le fichier spécifié est introuvable »
    Cause : chemin invalide, espaces non gérés, ou .inf absent.
    Solution : vérifie le chemin avec dir "C:\ton\dossier\*.inf" d’abord. Si ça fonctionne avec dir, ça fonctionnera avec pnputil. Pense aux guillemets autour du chemin.
  • 🔴 « Opération réussie » mais le pilote n’est pas actif
    Cause : ton pilote est moins bien classé que celui déjà installé. PnPUtil l’ajoute au store, mais Windows préfère l’autre.
    Solution : vérifie avec pnputil /enum-drivers que le pilote est bien dans le store. Si oui, il faudra passer par le gestionnaire de périphériques pour forcer manuellement son installation via « Choisir un pilote parmi ceux disponibles ».
  • 🔴 « Accès refusé »
    Cause : invite de commandes non élevée.
    Solution : clic droit sur cmd → « Exécuter en tant qu’administrateur ». Pas de contournement possible.
  • 🔴 Échec silencieux sur pilote non signé
    Cause : Secure Boot activé ou stratégie de signature restrictives.
    Solution : désactiver temporairement Secure Boot dans le BIOS, ou activer le mode test Windows avec bcdedit /set testsigning on (déconseillé en production, évidemment).

Comment supprimer proprement un pilote installé via pnputil ?

Utilise pnputil /delete-driver oemXX.inf pour retirer un pilote du driver store ; ajoute /force si le pilote est encore utilisé par un périphérique actif. L’opération est irréversible, donc vérifie deux fois avant d’appuyer sur Entrée.

La suppression est l’opération complémentaire naturelle de l’ajout. Voici les commandes essentielles :

  • Supprimer un pilote précis : pnputil /delete-driver oem42.inf
  • Forcer la suppression (même si utilisé) : pnputil /delete-driver oem42.inf /force
  • Lister avant de supprimer : pnputil /enum-drivers | findstr "Published Name"

Petite astuce qui m’a sauvé la mise plusieurs fois : avant de supprimer, exporte toujours le pilote avec pnputil /export-driver oemXX.inf C:\Sauvegarde. Si jamais tu supprimes le mauvais, tu pourras le réinstaller en deux secondes. J’ai appris ça le jour où j’ai viré le mauvais oem et que ma carte réseau a disparu… en plein télétravail.

Existe-t-il une vidéo qui montre pnputil en action ?

Oui, la chaîne YouTube MSFTWebCast propose une démonstration détaillée de pnputil avec des exemples concrets d’ajout, d’installation et de suppression de pilotes. La vidéo dure 7 minutes et couvre les commandes essentielles sans blabla.

Je te recommande de la regarder si tu es plutôt visuel : voir les commandes en action avec les messages de confirmation réels de Windows, c’est plus parlant que n’importe quel article. La démo couvre aussi l’export et la suppression, ce qui en fait un bon complément à ce guide.

✨ Mon verdict

Franchement, pnputil /add-driver /install est l’un de ces outils que tout bidouilleur Windows devrait avoir dans sa caisse à outils. Voici les trois points à retenir absolument :

1. C’est une question de contexte. Si tu installes un pilote sur ton PC perso déjà en place, la commande complète /add-driver + /install te fait gagner un temps fou comparé aux clics dans le gestionnaire de périphériques. Par contre, si tu prépares une image de déploiement, n’utilise que /add-driver sans /install et laisse Windows faire le reste au premier démarrage.

2. Le classement des pilotes est ton meilleur ennemi. PnPUtil ne force rien. Si Windows estime que le pilote Microsoft générique de 2018 est mieux classé que ton pilote constructeur de 2026, il ne bougera pas d’un pouce. Dans ce cas, passe par le gestionnaire de périphériques pour forcer la main, ou nettoie d’abord les vieux pilotes avec /delete-driver.

3. Logge absolument tout. Une installation de pilote qui foire sans log, c’est une après-midi de perdue à chercher pourquoi le WiFi ne remarche pas. Redirige toujours la sortie vers un fichier, surtout en script. Le code de retour 3010 (succès + reboot requis) est ton ami, apprends à le reconnaître.

Ma recommandation personnelle : crée-toi un petit script PowerShell basé sur le template que j’ai partagé plus haut, et garde-le précieusement sur une clé USB. Le jour où tu réinstalles Windows, tu balances ton dossier de drivers et le script, et en 5 minutes tout est opérationnel. J’ai fait ça pour mes 3 machines, et je ne reviendrai jamais en arrière.

Et toi, quelle est ta technique pour gérer les pilotes sous Windows ? Plutôt pnputil en ligne de commande, ou tu restes fidèle au gestionnaire de périphériques ? Balance ton retour en commentaire, je suis curieux de savoir comment la communauté s’organise !

Qu’est-ce que pnputil exactement et depuis quand existe-t-il ?

pnputil.exe est un utilitaire en ligne de commande intégré à Windows depuis Vista, conçu pour gérer les pilotes sans interface graphique. Il permet d’ajouter, installer, supprimer, exporter et lister les pilotes du driver store (magasin de pilotes). Microsoft l’a amélioré au fil des versions, avec une refonte de sa syntaxe sous Windows 10 version 1607 (passage de -a à /add-driver). L’outil est toujours d’actualité en 2026 sous Windows 11 et reste incontournable pour les administrateurs système et les techniciens de support. Voir la documentation Microsoft officielle.

Comment installer TOUS les pilotes d’un dossier d’un seul coup avec pnputil ?

Utilise la commande pnputil /add-driver "C:\Chemin\.inf" /subdirs /install. Le joker .inf cible tous les fichiers d’information de pilotes, et /subdirs demande à pnputil de parcourir récursivement tous les sous-dossiers. Cette méthode est idéale après avoir extrait un pack de pilotes (Dell, HP, Lenovo, etc.) ou lors de la préparation d’une image système. Attention : place toujours le chemin entre guillemets si celui-ci contient des espaces, et exécute la commande en tant qu’administrateur. Pour un déploiement scripté, redirigez la sortie vers un fichier de log afin de vérifier que chaque pilote a bien été traité. Guide détaillé avec exemples.

Pourquoi pnputil /install ne fonctionne pas alors que la commande dit « réussi » ?

Le message « Opération réussie » signifie que le pilote a bien été ajouté au driver store, mais pas forcément qu’il a été appliqué à votre matériel. Windows utilise un système de classement des pilotes basé sur la signature, la version et la correspondance d’ID matériel. Si un autre pilote déjà présent est mieux classé, le vôtre ne sera pas installé. Vérifiez avec pnputil /enum-drivers que votre pilote apparaît bien dans le store. Si oui mais qu’il n’est pas actif, passez par le Gestionnaire de périphériques : clic droit sur le périphérique → Mettre à jour le pilote → Parcourir mon ordinateur → Choisir parmi les pilotes disponibles. Explication du classement des pilotes par Microsoft.

Quelle est la différence entre pnputil et le Gestionnaire de périphériques ?

Le Gestionnaire de périphériques (devmgmt.msc) est l’interface graphique permettant de gérer les périphériques un par un, tandis que pnputil est l’outil en ligne de commande qui agit directement sur le driver store. PnPUtil est bien plus puissant pour les opérations en masse : il peut installer des dizaines de pilotes d’un coup via /subdirs, exporter tous les pilotes du système avec /export-driver *, ou supprimer un pilote problématique du store avec /delete-driver. De plus, pnputil peut être scripté et intégré dans des séquences de déploiement automatisé, ce que le Gestionnaire de périphériques ne permet pas. Comparaison détaillée avec pnpunattend.

Comment sauvegarder les pilotes avant de réinstaller Windows ?

La commande pnputil /export-driver C:\Backup_Drivers exporte TOUS les pilotes tiers du driver store vers le dossier spécifié. Chaque pilote est copié avec ses fichiers .inf, .sys et .dll dans un sous-dossier dédié. Après réinstallation de Windows, vous pourrez réinjecter ces pilotes avec pnputil /add-driver "C:\Backup_Drivers\.inf" /subdirs /install. Cette méthode est plus fiable que les logiciels de sauvegarde de pilotes tiers, car elle utilise l’outil natif de Windows et préserve l’intégrité des packages de pilotes signés. Notez toutefois que seuls les pilotes installés (tiers) sont exportés, pas les pilotes inbox fournis par Microsoft. Tutoriel complet sur TenForums.

Laisser un commentaire