1 votes

Automatiser la désinstallation et la réinstallation des pilotes sous Windows 7

Je dois automatiser la désinstallation et la réinstallation d'un pilote sur Windows 7. La procédure à suivre pour le faire manuellement est la suivante :

  1. Démarrage
  2. Cliquez avec le bouton droit sur Ordinateur > Gérer
  3. Gestionnaire de périphériques > Adaptateurs réseau
  4. Cliquez avec le bouton droit de la souris sur Intel(R) Dual band Wireless-AC 7260 > Désinstaller
  5. NE PAS SUPPRIMER, ne pas cocher l'option de suppression, cliquer sur OK pour désinstaller le logiciel.
  6. Cliquez avec le bouton droit de la souris sur Adaptateurs réseau > Rechercher les modifications matérielles

J'ai besoin d'effectuer régulièrement ces étapes et j'aimerais donc trouver un moyen de les automatiser.

J'ai trouvé ces deux outils en ligne de commande qui semblent pertinents, mais aucun d'entre eux ne semble faire exactement ce que je veux.

wmic

# Outputs a list. I can parse this to find the index of the device.
wmic nic get name, index

wmic path win32_networkadapter where index=<from above> call disable
wmic path win32_networkadapter where index=<from above> call enable

Ces commandes produisent des résultats qui suggèrent qu'elles ont fait ce qu'elles étaient censées faire, mais elles n'ont pas le même effet que la désinstallation et la réinstallation du pilote.

pnputil

pnputil -e

Cette opération produit une liste. Elle ne semble pas inclure le même nom lisible par l'homme que celui utilisé dans le Gestionnaire de périphériques (ce que faisait wmic ci-dessus), mais je vois ce périphérique listé qui, je pense, est le bon :

Published name :            oem186.inf
Driver package provider :   Intel
Class :                     Network adapters
Driver date and version :   08/01/2013 16.1.3.1
Signer name :               Microsoft Windows Hardware Compatibility Publisher

Cela me pose toutefois quelques problèmes. Lorsque je vais dans le gestionnaire de périphériques et que je fais un clic droit sur le pilote > Propriétés > Onglet Pilote > Détails du pilote, la liste des fichiers suivants s'affiche :

C:\windows\system32\DRIVERS\Netwfw02.dat
C:\windows\system32\DRIVERS\NETwsw02.sys
C:\windows\system32\drivers\vwifibus.sys

Aucun d'entre eux n'est le nom que pnputil l'a appelé. De plus, l'onglet Détails > Infs inclus l'appelle netvwifibus.inf - pas non plus quelque chose pnputil l'a appelé.

Un autre problème avec pnputil est qu'il ne semble pas avoir de commande de désinstallation. Tout ce qu'il a, c'est pnputil -d Les instructions de mon manuel indiquent explicitement qu'il ne faut pas supprimer le pilote, mais seulement le désinstaller. J'hésite à essayer d'utiliser cette option de suppression car je ne vois aucun moyen facile de l'annuler si c'est la mauvaise chose à faire.

résumé

wmic Je peux désactiver et activer les pilotes, mais je veux les désinstaller et les réinstaller.

pnputil peut ajouter et supprimer des paquets. Le mot "supprimer" m'effraie car il semble n'offrir aucun moyen de sauvegarder ou de revenir en arrière facilement, c'est pourquoi je n'ai pas essayé. Par ailleurs, qu'est-ce qu'un paquet ? Quelle est sa relation avec un pilote... est-ce la même chose ?

2voto

Fedaykin Points 61

PnP, paquets et pilotes

Votre appareil est un appareil PnP (Plug and Play) - Cela signifie que Windows choisit automatiquement le pilote à utiliser pour cet appareil. Un endroit où il semble pour les pilotes est un magasin de pilotes sur un ordinateur local. Le magasin de pilotes contient des paquets de pilotes. Il peut y avoir plusieurs paquets pour un même appareil et un paquet peut contenir des pilotes pour plusieurs appareils. Lorsqu'un périphérique n'a pas de pilote attribué, le gestionnaire PnP trouve des pilotes compatibles, les classe choisit le meilleur et installe ce pilote.

Lorsque vous téléchargez et installez un pilote manuellement, sa copie est placée dans le magasin de pilotes en tant que paquet.

Lorsque vous désinstallez manuellement un pilote et que vous sélectionnez l'option de suppression dans le Gestionnaire de périphériques, le paquet correspondant est également supprimé du magasin de pilotes.

wmic, pnputil

Pour automatiser les étapes exactes que vous avez mentionnées, les deux wmic disable y pnputil -d n'est pas bon pour vous. pnputil ne fait qu'ajouter/supprimer des paquets, le gestionnaire PnP choisit ce qui doit être installé.

Vous voulez désinstaller le pilote (mais pas supprimer son package et forcer un rescan PnP).

solution proposée

J'essaierais d'utiliser Console de périphériques Windows (Devcon.exe) . Son remove devrait supprimer le périphérique de l'arborescence et laisser le paquet seul - comme dans les étapes 4 et 5. En utilisant la commande rescan vous pouvez déclencher l'étape 6. Vous pouvez trouver devcon en Kit de pilotes pour Windows .

Vous pouvez également écrire un programme en utilisant Fonctions d'installation de dispositifs publics

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X