Exemples de console d’appareil (DevCon.exe)
Important
PnPUtil est fourni avec chaque version de Windows et utilise les API les plus fiables et sécurisées disponibles et son utilisation est recommandée. Pour plus d’informations sur l’utilisation de PnPutil au lieu de devcon, consultez Remplacement de DevCon.
Exemples de catagories
Cette section fournit des exemples des commandes de console d’appareil (DevCon.exe) suivantes :
DevCon HwIDs
- Exemple 1 : Rechercher tous les ID matériels
- Exemple 2 : Rechercher des ID matériels à l’aide d’un modèle
- Exemple 3 : Rechercher des ID matériels à l’aide d’une classe
Classes DevCon
DevCon ListClass
- Exemple 6 : Répertorier les appareils d’une classe de configuration d’appareil
- Exemple 7 : Répertorier les appareils dans plusieurs classes
DevCon DriverFiles
- Exemple 8 : Répertorier tous les fichiers de pilotes
- Exemple 9 : Répertorier les fichiers de pilotes d’un appareil particulier
DevCon DriverNodes
- Exemple 10 : Répertorier les packages de pilotes par modèle d’ID matériel
- Exemple 11 : Répertorier les packages de pilotes par modèle d’ID d’instance d’appareil
DevCon Resources
- Exemple 12 : Répertorier les ressources d’une classe d’appareils
- Exemple 13 : Répertorier les ressources de l’appareil par ID
DevCon Stack
- Exemple 14 : Afficher la pile des pilotes pour les périphériques de stockage
- Exemple 15 : Rechercher la classe d’installation d’un appareil
- Exemple 16 : Afficher la pile pour les appareils associés
DevCon Status
- Exemple 17 : Afficher l’état de tous les appareils sur l’ordinateur local
- Exemple 18 : Afficher l’état d’un appareil par ID d’instance d’appareil
- Exemple 19 : Afficher l’état des appareils associés
DevCon Find
- Exemple 20 : Rechercher des appareils par modèle d’ID matériel
- Exemple 21 : Rechercher des appareils par ID ou classe d’instance d’appareil
DevCon FindAll
DevCon ClassFilter
- Exemple 23 : Afficher les pilotes de filtre pour une classe de configuration
- Exemple 24 : Ajouter un pilote de filtre à une classe de configuration
- Exemple 25 : Insérer un pilote de filtre dans la liste des classes
- Exemple 26 : Remplacer un pilote de filtre
- Exemple 27 : Modifier l’ordre des pilotes de filtre
DevCon Enable
DevCon Disable
- Exemple 30 : Désactiver les appareils par un modèle d’ID
- Exemple 31 : Désactiver les appareils par ID d’instance d’appareil
DevCon Update et UpdateNI
- Exemple 32 : Mettre à jour le pilote pour les ports de communication
- Exemple 44 : Mettre à jour de force la hal
DevCon Install
- Exemple 33 : Installer un appareil
- Exemple 34 : Installer un appareil à l’aide d’une configuration sans assistance
DevCon Remove
- Exemple 35 : Supprimer des appareils par modèle d’ID d’instance d’appareil
- Exemple 36 : Supprimer un périphérique réseau particulier
DevCon Rescan
DevCon Restart
DevCon Reboot
DevCon SetHwID
- Exemple 40 : Affecter un ID matériel à un appareil hérité
- Exemple 41 : Ajouter un ID matériel à tous les appareils hérités
- Exemple 42 : Supprimer un ID matériel de tous les appareils hérités
- Exemple 43 : Ajouter, supprimer et remplacer des ID matériels
- Exemple 44 : Mettre à jour de force la hal
DevCon dp_add, dp_deleted, dp_enum
Détails de l’exemple
Exemple 1 : Rechercher tous les ID matériels
Étant donné que les opérations DevCon utilisent des ID et des modèles d’ID pour identifier les appareils, une première étape courante de l’utilisation de DevCon consiste à créer un fichier de référence d’ID matériel pour les appareils sur l’ordinateur.
La commande suivante utilise l’opération DevCon HwIDs , qui retourne les ID et la description de l’appareil. Il utilise le caractère générique carte (*) pour représenter tous les appareils sur l’ordinateur local.
devcon hwids *
Étant donné que la sortie est longue et utilisée à plusieurs reprises, enregistrez la sortie dans un fichier texte pour référence.
La commande suivante utilise le caractère générique carte (*) pour représenter tous les appareils sur l’ordinateur. Il utilise le caractère de redirection (>) pour enregistrer la sortie de commande dans le fichier hwids.txt.
devcon hwids * > hwids.txt
Exemple 2 : Rechercher des ID matériels à l’aide d’un modèle
Pour rechercher les ID matériels d’un appareil particulier, entrez l’ID ou le modèle matériel, l’ID ou le modèle compatible, l’ID ou le modèle d’instance de l’appareil ou le nom de la classe d’installation de l’appareil.
La commande suivante utilise l’opération DevCon HwIDs et un modèle pour rechercher les ID matériels du lecteur de disque de floppy sur l’ordinateur. (L’utilisateur part du principe que le modèle apparaît dans l’un des identificateurs de l’appareil.) La commande utilise le caractère wild carte (*) pour représenter tous les caractères qui peuvent précéder ou suivre le mot « floppy » dans l’un des ID.
devcon hwids *floppy*
En réponse, DevCon affiche l’ID d’instance de l’appareil, l’ID matériel et l’ID compatible du lecteur de disque de floppy sur l’ordinateur. Vous pouvez utiliser ces ID dans les commandes DevCon suivantes.
FDC\GENERIC_FLOPPY_DRIVE\5&39194F6D&0&0
Name: Floppy disk drive
Hardware ID's:
FDC\GENERIC_FLOPPY_DRIVE
Compatible ID's:
GenFloppyDisk
1 matching device(s) found.
Dans ce cas, l’expression « floppy » se produit dans l’ID matériel ou l’ID compatible d’un seul appareil sur l’ordinateur. S’il se produit dans l’ID de plusieurs appareils, tous les appareils avec « floppy » dans leurs ID apparaissent dans la sortie.
Exemple 3 : Rechercher des ID matériels à l’aide d’une classe
La commande suivante utilise l’opération DevCon HwIDs et une classe de configuration d’appareil pour rechercher les ID matériels de tous les appareils de la classe d’installation des appareils Ports. Le signe égal (=) qui précède le nom de la classe indique qu’il s’agit d’une classe, et non d’un ID.
devcon hwids =ports
En réponse, DevCon affiche les ID matériels et les ID compatibles des trois appareils de la classe d’installation ports.
ACPI\PNP0401\4&B4063F4&0
Name: ECP Printer Port (LPT1)
Hardware ID's:
ACPI\PNP0401
*PNP0401
ACPI\PNP0501\1
Name: Communications Port (COM1)
Hardware ID's:
ACPI\PNP0501
*PNP0501
ACPI\PNP0501\2
Name: Communications Port (COM2)
Hardware ID's:
ACPI\PNP0501
*PNP0501
3 matching device(s) found.
Exemple 4 : Répertorier les classes sur l’ordinateur local
Étant donné que les opérations DevCon peuvent utiliser la classe de configuration d’appareil pour identifier les appareils, il est utile de créer un fichier de référence des classes d’installation d’appareils sur l’ordinateur.
La commande suivante utilise l’opération DevCon Classes , qui retourne une liste et une description de toutes les classes sur l’ordinateur.
devcon classes
Étant donné que la sortie est longue et utilisée à plusieurs reprises, enregistrez la sortie dans un fichier texte pour référence.
La commande suivante affiche toutes les classes d’appareil sur l’ordinateur. Il utilise le caractère de redirection (>) pour enregistrer la sortie de commande dans le fichier classes.txt.
devcon classes > classes.txt
Exemple 6 : Répertorier les appareils d’une classe de configuration d’appareil
La commande suivante utilise l’opération DevCon ListClass pour répertorier les appareils dans Net, la classe de configuration de l’appareil pour les cartes réseau.
devcon listclass net
En réponse, DevCon affiche l’ID d’instance de l’appareil et la description de chaque appareil dans la classe d’installation Net.
Listing 6 device(s) for setup class "Net" (Network adapters).
PCI\VEN_10B7&DEV_9200&SUBSYS_00BE1028&REV_78\4&BB7B4AE&0&60F0: 3Com 3C920 Integrated Fast Ethernet Controller (3C905C-TX Compatible)
ROOT\MS_L2TPMINIPORT\0000 : WAN Miniport (L2TP)
ROOT\MS_NDISWANIP\0000 : WAN Miniport (IP)
ROOT\MS_PPPOEMINIPORT\0000 : WAN Miniport (PPPOE)
ROOT\MS_PPTPMINIPORT\0000 : WAN Miniport (PPTP)
ROOT\MS_PTIMINIPORT\0000 : Direct Parallel
Cet affichage, bien que intéressant, ne fournit pas les ID matériels des appareils dans la classe de configuration Net. La commande suivante utilise l’opération DevCon HwIDs pour répertorier les appareils de la classe de configuration Net. Dans une commande DevCon HwIDs , le nom de la classe est précédé d’un signe égal (=) pour indiquer qu’il s’agit d’une classe, et non d’un ID.
devcon hwids =net
L’affichage obtenu répertorie les appareils de la classe Net et inclut l’ID d’instance d’appareil, les ID matériels et les ID compatibles des appareils de la classe.
PCI\VEN_10B7&DEV_9200&SUBSYS_00BE1028&REV_78\4&BB7B4AE&0&60F0
Name: 3Com 3C920 Integrated Fast Ethernet Controller (3C905C-TX Compatible)
Hardware ID's:
PCI\VEN_10B7&DEV_9200&SUBSYS_00BE1028&REV_78
PCI\VEN_10B7&DEV_9200&SUBSYS_00BE1028
PCI\VEN_10B7&DEV_9200&CC_020000
PCI\VEN_10B7&DEV_9200&CC_0200
Compatible ID's:
PCI\VEN_10B7&DEV_9200&REV_78
PCI\VEN_10B7&DEV_9200
PCI\VEN_10B7&CC_020000
PCI\VEN_10B7&CC_0200
PCI\VEN_10B7
PCI\CC_020000
PCI\CC_0200
ROOT\MS_L2TPMINIPORT\0000
Name: WAN Miniport (L2TP)
Hardware ID's:
ms_l2tpminiport
ROOT\MS_NDISWANIP\0000
Name: WAN Miniport (IP)
Hardware ID's:
ms_ndiswanip
ROOT\MS_PPPOEMINIPORT\0000
Name: WAN Miniport (PPPOE)
Hardware ID's:
ms_pppoeminiport
ROOT\MS_PPTPMINIPORT\0000
Name: WAN Miniport (PPTP)
Hardware ID's:
ms_pptpminiport
ROOT\MS_PTIMINIPORT\0000
Name: Direct Parallel
Hardware ID's:
ms_ptiminiport
6 matching device(s) found.
Exemple 7 : Répertorier les appareils dans plusieurs classes
La commande suivante utilise l’opération DevCon ListClass pour répertorier les appareils dans les classes DiskDrive, CDROM et TapeDrive.
devcon listclass diskdrive cdrom tapedrive
En réponse, DevCon affiche les appareils de ces classes.
Listing 1 device(s) for setup class "DiskDrive" (Disk drives).
IDE\DISKWDC_WD204BA_____________________________16.13M16\4457572D414D3730323136333938203120202020: WDC WD204BA
Listing 1 device(s) for setup class "CDROM" (DVD/CD-ROM drives).
IDE\CDROMSAMSUNG_DVD-ROM_SD-608__________________2.2_____\4&13B4AFD&0&0.0.0: SAMSUNG DVD-ROM SD-608
No devices for setup class "TapeDrive" (Tape drives).
Exemple 8 : Répertorier tous les fichiers de pilotes
La commande suivante utilise l’opération DevCon DriverFiles pour répertorier les noms de fichiers des pilotes que les périphériques sur le système utilisent. La commande utilise le caractère générique carte (*) pour indiquer tous les appareils sur le système. Étant donné que la sortie est étendue, la commande utilise le caractère de redirection (>) pour rediriger la sortie vers un fichier de référence, driverfiles.txt.
devcon driverfiles * > driverfiles.txt
Exemple 9 : Répertorier les fichiers de pilotes d’un appareil particulier
La commande suivante utilise l’opération DevCon DriverFiles pour rechercher le pilote de périphérique que le périphérique de la souris utilise sur l’ordinateur local. Il identifie l’appareil par l’un de ses ID matériels, HID\Vid_045e&Pid_0039&Rev_0121. L’ID matériel est placé entre guillemets, car il inclut le caractère ampersand (&).
devcon driverfiles "HID\Vid_045e&Pid_0039&Rev_0121"
En réponse, DevCon affiche les deux pilotes de périphérique qui prennent en charge le périphérique de la souris.
HID\VID_045E&PID_0039\6&DC36FDE&0&0000
Name: Microsoft USB IntelliMouse Optical
Driver installed from c:\windows\inf\msmouse.inf [HID_Mouse_Inst]. 2 file(s)
used by driver:
C:\WINDOWS\System32\DRIVERS\mouhid.sys
C:\WINDOWS\System32\DRIVERS\mouclass.sys
1 matching device(s) found.
Exemple 10 : Répertorier les packages de pilotes par modèle d’ID matériel
La commande suivante utilise la commande DevCon DriverNodes et un modèle d’ID pour répertorier les nœuds de pilotes des appareils énumérés par logiciel. Les modèles sont utiles pour trouver des informations sur des appareils similaires qui peuvent ne pas se trouver dans la même classe d’installation.
La commande suivante utilise le modèle d’ID sw\* pour spécifier les appareils dont les ID matériels ou les ID compatibles commencent par « sw », c’est-à-dire les appareils énumérés par logiciel.
devcon drivernodes sw*
En réponse, DevCon affiche les nœuds de pilote des appareils énumérés par logiciel sur le système.
SW\{A7C7A5B0-5AF3-11D1-9CED-00A024BF0407}\{9B365890-165F-11D0-A195-0020AFD156E4}
Name: Microsoft Kernel System Audio Device
DriverNode #0:
Inf file is c:\windows\inf\wdmaudio.inf
Inf section is WDM_SYSAUDIO
Driver description is Microsoft Kernel System Audio Device
Manufacturer name is Microsoft
Provider name is Microsoft
Driver date is 7/1/2001
Driver version is 5.1.2535.0
Driver node rank is 0
Driver node flags are 00002244
Inf is digitally signed
SW\{B7EAFDC0-A680-11D0-96D8-00AA0051E51D}\{9B365890-165F-11D0-A195-0020AFD156E4}
Name: Microsoft Kernel Wave Audio Mixer
DriverNode #0:
Inf file is c:\windows\inf\wdmaudio.inf
Inf section is WDM_KMIXER
Driver description is Microsoft Kernel Wave Audio Mixer
Manufacturer name is Microsoft
Provider name is Microsoft
Driver date is 7/1/2001
Driver version is 5.1.2535.0
Driver node rank is 0
Driver node flags are 00002244
Inf is digitally signed
SW\{CD171DE3-69E5-11D2-B56D-0000F8754380}\{9B365890-165F-11D0-A195-0020AFD156E4}
Name: Microsoft WINMM WDM Audio Compatibility Driver
DriverNode #0:
Inf file is c:\windows\inf\wdmaudio.inf
Inf section is WDM_WDMAUD
Driver description is Microsoft WINMM WDM Audio Compatibility Driver
Manufacturer name is Microsoft
Provider name is Microsoft
Driver date is 7/1/2001
Driver version is 5.1.2535.0
Driver node rank is 0
Driver node flags are 00002244
Inf is digitally signed
3 matching device(s) found.
Exemple 11 : Répertorier les packages de pilotes par modèle d’ID d’instance d’appareil
La commande suivante utilise l’opération DevCon DriverNodes pour répertorier les packages de pilotes de tous les appareils dont les ID d’instance d’appareil commencent par ROOT\MEDIA, autrement dit, les appareils de la sous-clé De Registre Enum\Root\Media. La commande utilise le caractère à caractère (@) pour indiquer que l’expression se trouve dans l’ID d’instance de l’appareil.
devcon drivernodes @ROOT\MEDIA*
En réponse, DevCon affiche les nœuds de pilote des appareils dont l’ID d’instance d’appareil commence par « ROOT\MEDIA ».
ROOT\MEDIA\MS_MMACM
Name: Audio Codecs
DriverNode #0:
Inf file is c:\windows\inf\wave.inf
Inf section is MS_MMACM
Driver description is Audio Codecs
Manufacturer name is (Standard system devices)
Provider name is Microsoft
Driver date is 7/1/2001
Driver version is 5.1.2535.0
Driver node rank is 0
Driver node flags are 00002240
Inf is digitally signed
ROOT\MEDIA\MS_MMDRV
Name: Legacy Audio Drivers
DriverNode #0:
Inf file is c:\windows\inf\wave.inf
Inf section is MS_MMDRV
Driver description is Legacy Audio Drivers
Manufacturer name is (Standard system devices)
Provider name is Microsoft
Driver date is 7/1/2001
Driver version is 5.1.2535.0
Driver node rank is 0
Driver node flags are 00002240
Inf is digitally signed
ROOT\MEDIA\MS_MMMCI
Name: Media Control Devices
DriverNode #0:
Inf file is c:\windows\inf\wave.inf
Inf section is MS_MMMCI
Driver description is Media Control Devices
Manufacturer name is (Standard system devices)
Provider name is Microsoft
Driver date is 7/1/2001
Driver version is 5.1.2535.0
Driver node rank is 0
Driver node flags are 00002240
Inf is digitally signed
ROOT\MEDIA\MS_MMVCD
Name: Legacy Video Capture Devices
DriverNode #0:
Inf file is c:\windows\inf\wave.inf
Inf section is MS_MMVCD
Driver description is Legacy Video Capture Devices
Manufacturer name is (Standard system devices)
Provider name is Microsoft
Driver date is 7/1/2001
Driver version is 5.1.2535.0
Driver node rank is 0
Driver node flags are 00002240
Inf is digitally signed
ROOT\MEDIA\MS_MMVID
Name: Video Codecs
DriverNode #0:
Inf file is c:\windows\inf\wave.inf
Inf section is MS_MMVID
Driver description is Video Codecs
Manufacturer name is (Standard system devices)
Provider name is Microsoft
Driver date is 7/1/2001
Driver version is 5.1.2535.0
Driver node rank is 0
Driver node flags are 00002240
Inf is digitally signed
5 matching device(s) found.
Exemple 12 : Répertorier les ressources d’une classe d’appareils
La commande suivante utilise l’opération DevCon Resources pour afficher les ressources allouées aux appareils dans la classe de configuration d’appareil Hdc. Cette classe inclut des contrôleurs IDE. Le signe égal (=) est ajouté à « hdc » pour indiquer qu’il s’agit d’une classe et non d’un ID.
devcon resources =hdc
En réponse, DevCon répertorie les ressources allouées aux contrôleurs IDE sur l’ordinateur local.
PCI\VEN_8086&DEV_244B&SUBSYS_00000000&REV_02\3&29E81982&0&F9
Name: Intel(r) 82801BA Bus Master IDE Controller
Device is currently using the following resources:
IO : ffa0-ffaf
PCIIDE\IDECHANNEL\4&37E53584&0&0
Name: Primary IDE Channel
Device is currently using the following resources:
IO : 01f0-01f7
IO : 03f6-03f6
IRQ : 14
PCIIDE\IDECHANNEL\4&37E53584&0&1
Name: Secondary IDE Channel
Device is currently using the following resources:
IO : 0170-0177
IO : 0376-0376
IRQ : 15
3 matching device(s) found.
Exemple 13 : Répertorier les ressources de l’appareil par ID
La commande suivante utilise l’opération DevCon Resources pour répertorier les ressources allouées au minuteur système. La commande utilise l’ID matériel du minuteur système, ACPI\PNP0100, pour spécifier l’appareil.
devcon resources *PNP0100
En réponse, DevCon affiche les ressources du minuteur système.
ROOT\*PNP0100\PNPBIOS_8
Name: System timer
Device has the following resources reserved:
IO : 0040-005f
IRQ : 0
1 matching device(s) found.
La commande suivante utilise l’ID d’instance d’appareil du minuteur système dans la commande de ressources DevCon. Le caractère (@) indique que la chaîne est un ID d’instance d’appareil, et non un ID matériel ou un ID compatible.
devcon resources "@ACPI\PNP0100\4&b4063f4&0"
Exemple 14 : Afficher la pile des pilotes pour les périphériques de stockage
La commande suivante utilise l’opération DevCon Stack pour rechercher des appareils dans la classe de configuration du volume et afficher la pile de pilotes attendue pour ces appareils. Le signe égal (=) indique que la chaîne est un nom de classe.
devcon stack =Volume
En réponse, DevCon affiche la pile attendue pour les appareils de la classe Volume. Les données retournées incluent l’ID d’instance d’appareil et la description de chaque appareil, le GUID et le nom de la classe d’installation de l’appareil, les noms des pilotes de filtre supérieur et inférieur et les services de contrôle (le cas échéant).
STORAGE\VOLUME\1&30A96598&0&SIGNATURE32323533OFFSET271167600LENGTH6E00D0C00
Name: Generic volume
Setup Class: {71A27CDD-812A-11D0-BEC7-08002BE2092F} Volume
Class upper filters:
VolSnap
Controlling service:
(none)
STORAGE\VOLUME\1&30A96598&0&SIGNATURE32323533OFFSET7E00LENGTH27115F800
Name: Generic volume
Setup Class: {71A27CDD-812A-11D0-BEC7-08002BE2092F} Volume
Class upper filters:
VolSnap
Controlling service:
(none)
2 matching device(s) found.
Exemple 15 : Rechercher la classe d’installation d’un appareil
L’opération DevCon Stack retourne la classe d’installation d’un appareil en plus des pilotes de filtre supérieur et inférieur. Les commandes suivantes recherchent la classe d’installation de l’interface de port d’imprimante en recherchant son ID d’instance d’appareil, puis en utilisant l’ID d’instance de l’appareil pour trouver sa classe d’installation.
La commande suivante utilise l’opération DevCon HwIDs pour rechercher l’ID d’instance de l’appareil de l’interface de port d’imprimante à l’aide de « LPT », une expression dans l’ID matériel du port d’imprimante.
devcon hwids *lpt*
En réponse, DevCon retourne l’ID d’instance de l’appareil (affiché en gras) et l’ID matériel de l’interface de port d’imprimante.
LPTENUM\MICROSOFTRAWPORT\5&CA97D7E&0&LPT1
Name: Printer Port Logical Interface
Hardware ID's:
LPTENUM\MicrosoftRawPort958A
MicrosoftRawPort958A
1 matching device(s) found.
La commande suivante utilise l’opération DevCon Stack pour rechercher la classe d’installation de l’appareil représentée par l’ID d’instance de l’appareil. Un caractère (@) identifie l’ID comme ID d’instance d’appareil. L’ID est placé entre guillemets, car il inclut des caractères d’ampersand.
devcon stack "@LPTENUM\MICROSOFTRAWPORT\5&CA97D7E&0&LPT1"
En réponse, DevCon affiche la pile des pilotes pour l’interface de port d’imprimante, y compris la classe. L’affichage indique que le port d’imprimante se trouve dans la classe System.
LPTENUM\MICROSOFTRAWPORT\5&CA97D7E&0&LPT1
Name: Printer Port Logical Interface
Setup Class: {4D36E97D-E325-11CE-BFC1-08002BE10318} System
Controlling service:
(none)
1 matching device(s) found.
Exemple 16 : Afficher la pile pour les appareils associés
La commande suivante utilise l’opération DevCon Stack pour afficher la pile attendue pour les périphériques de pilotes miniport. Il recherche les appareils de la classe d’installation Net qui ont « miniport » dans leur ID matériel ou leur ID compatible.
Notez que cette commande limite d’abord la recherche à la classe de configuration Net, puis recherche la chaîne « miniport ». Il ne trouve pas d’appareils autres que ceux de la classe de configuration Net.
devcon stack =net *miniport*
En réponse, DevCon affiche la pile attendue pour les pilotes miniport.
ROOT\MS_L2TPMINIPORT\0000
Name: WAN Miniport (L2TP)
Setup Class: {4D36E972-E325-11CE-BFC1-08002BE10318} Net
Controlling service:
Rasl2tp
ROOT\MS_PPPOEMINIPORT\0000
Name: WAN Miniport (PPPOE)
Setup Class: {4D36E972-E325-11CE-BFC1-08002BE10318} Net
Controlling service:
RasPppoe
Lower filters:
NdisTapi
ROOT\MS_PPTPMINIPORT\0000
Name: WAN Miniport (PPTP)
Setup Class: {4D36E972-E325-11CE-BFC1-08002BE10318} Net
Controlling service:
PptpMiniport
Lower filters:
NdisTapi
ROOT\MS_PTIMINIPORT\0000
Name: Direct Parallel
Setup Class: {4D36E972-E325-11CE-BFC1-08002BE10318} Net
Controlling service:
Raspti
Lower filters:
PtiLink
4 matching device(s) found.
Exemple 17 : Afficher l’état de tous les appareils
La commande suivante utilise l’opération DevCon Status pour rechercher l’état de tous les appareils sur l’ordinateur local. Il enregistre ensuite l’état dans le fichier status.txt pour la journalisation ou la révision ultérieure. La commande utilise le caractère générique carte (*) pour représenter tous les appareils et le caractère de redirection (>) pour rediriger la sortie vers le fichier status.txt.
devcon status * > status.txt
Exemple 18 : Afficher l’état d’un appareil par ID d’instance d’appareil
La façon la plus fiable de trouver l’état d’un appareil particulier consiste à utiliser l’ID d’instance de l’appareil de l’appareil.
La commande suivante utilise l’ID d’instance de l’appareil du contrôleur d’E/S sur l’ordinateur local dans une commande d’état DevCon. La commande inclut l’ID d’instance de l’appareil, PCI\VEN_8086&DEV_1130&SUBSYS_00000000&REV_02\3&29E81982&0&00. Le caractère (@) préfixé à l’ID identifie la chaîne en tant qu’ID d’instance d’appareil. L’ID doit être placé entre guillemets, car il inclut des caractères d’ampersand.
devcon status "@PCI\VEN_8086&DEV_1130&SUBSYS_00000000&REV_02\3&29E81982&0&00"
En réponse, DevCon affiche l’état du contrôleur d’E/S.
PCI\VEN_8086&DEV_1130&SUBSYS_00000000&REV_02\3&29E81982&0&00
Name: Intel(R) 82815 Processor to I/O Controller - 1130
Driver is running.
1 matching device(s) found.
Exemple 19 : Afficher l’état des appareils associés
La commande suivante utilise l’opération d’état DevCon pour afficher l’état des appareils spécifiques liés au stockage. Il recherche les appareils suivants :
Lecteur de disque, GenDisk
Lecteur CD-ROM, GenCdRom
Lecteur de disque de floppy, FDC\GENERIC_FLOPPY_DRIVE
Volumes, STORAGE\Volume
Gestionnaire de disques logiques, ROOT\DMIO
Gestionnaire de volumes, ROOT\FTDISK
Contrôleur de disque de floppy, ACPI\PNP0700
Dans la commande, chaque ID est séparé des autres par des espaces. Notez que GenDisk et GenCdRom sont des ID compatibles, tandis que les autres ID sont des ID matériels.
devcon status GenDisk GenCdRom FDC\GENERIC_FLOPPY_DRIVE STORAGE\Volume ROOT\DMIO ROOT\FTDISK ACPI\PNP0700
En réponse, DevCon affiche l’état de chaque appareil.
FDC\GENERIC_FLOPPY_DRIVE\1&3A2146F1&0&0
Name: Floppy disk drive
Driver is running.
IDE\CDROMSAMSUNG_DVD-ROM_SD-608__________________2.2_____\4&13B4AFD&0&0.0.0
Name: SAMSUNG DVD-ROM SD-608
Driver is running.
IDE\DISKWDC_WD204BA_____________________________16.13M16\4457572D414D373032313633393820312
0202020
Name: WDC WD204BA
Driver is running.
ROOT\DMIO\0000
Name: Logical Disk Manager
Driver is running.
ROOT\FLOPPYDISK\0000
Device has a problem: 28.
ROOT\FLOPPYDISK\0002
Device has a problem: 01.
ROOT\FLOPPYDISK\0003
Device has a problem: 01.
ROOT\FLOPPYDISK\0004
Device is currently stopped.
ROOT\FTDISK\0000
Name: Volume Manager
Driver is running.
STORAGE\VOLUME\1&30A96598&0&SIGNATUREEA1AA9C7OFFSET1770DF800LENGTH3494AEA00
Name: Generic volume
Driver is running.
STORAGE\VOLUME\1&30A96598&0&SIGNATUREEA1AA9C7OFFSET7E00LENGTH1770CFC00
Name: Generic volume
Driver is running.
11 matching device(s) found.
Exemple 20 : Rechercher des appareils par modèle d’ID matériel
La commande suivante utilise l’opération DevCon Find pour rechercher des appareils de souris. Plus précisément, la commande recherche l’ordinateur pour les appareils dont l’ID matériel ou l’ID compatible inclut « mou ».
devcon find *mou*
Dans ce cas, DevCon a trouvé deux appareils de souris.
ROOT\*PNP0F03\1_0_21_0_31_0 : Microsoft PS/2 Mouse
ROOT\RDP_MOU\0000 : Terminal Server Mouse Driver
Étant donné que toutes les opérations d’affichage DevCon recherchent également des ID matériels, vous pouvez utiliser n’importe quelle opération d’affichage pour rechercher des ID matériels. Sélectionnez l’opération en fonction du contenu dont vous avez besoin dans la sortie. Par exemple, pour rechercher les pilotes de périphérique que les appareils liés à la souris sur un ordinateur local utilisent, envoyez la commande suivante.
devcon driverfiles *mou*
En réponse, DevCon recherche les appareils et répertorie leurs pilotes.
HID\VID_045E&PID_0039\6&DC36FDE&0&0000
Name: Microsoft USB IntelliMouse Optical
Driver installed from c:\windows\inf\msmouse.inf [HID_Mouse_Inst]. 2 file(s) used by d
river:
C:\WINDOWS\System32\DRIVERS\mouhid.sys
C:\WINDOWS\System32\DRIVERS\mouclass.sys
ROOT\RDP_MOU\0000
Name: Terminal Server Mouse Driver
Driver installed from c:\windows\inf\machine.inf [RDP_MOU]. 2 file(s) used by driver:
C:\WINDOWS\System32\DRIVERS\termdd.sys
C:\WINDOWS\System32\DRIVERS\mouclass.sys
2 matching device(s) found.
Exemple 21 : Rechercher des appareils par ID ou classe d’instance d’appareil
Les commandes suivantes utilisent l’opération DevCon Find pour afficher tous les appareils hérités sur l’ordinateur local. Étant donné que les appareils hérités n’ont pas d’ID matériel, vous devez les rechercher par leur ID d’instance d’appareil (chemin d’accès au Registre), ROOT\LEGACY ou leur classe d’installation, LegacyDriver.
La première commande recherche les pilotes hérités par un modèle d’ID d’instance d’appareil. Le modèle d’ID est précédé par le caractère à caractère (@) pour indiquer un ID d’instance d’appareil et suivi du caractère générique carte (*) pour rechercher tous les appareils dans la sous-clé ROOT\Legacy.
devcon find @root\legacy*
La deuxième commande recherche les appareils hérités en recherchant tous les appareils de la classe LegacyDriver.
devcon find =legacydriver
Les deux commandes produisent la même sortie, dans ce cas, recherchant les mêmes 27 appareils hérités.
ROOT\LEGACY_AFD\0000 : AFD Networking Support Environment
ROOT\LEGACY_BEEP\0000 : Beep
ROOT\LEGACY_DMBOOT\0000 : dmboot
ROOT\LEGACY_DMLOAD\0000 : dmload
ROOT\LEGACY_FIPS\0000 : Fips
ROOT\LEGACY_GPC\0000 : Generic Packet Classifier
ROOT\LEGACY_IPSEC\0000 : ipsec
ROOT\LEGACY_KSECDD\0000 : ksecdd
ROOT\LEGACY_MNMDD\0000 : mnmdd
ROOT\LEGACY_MOUNTMGR\0000 : mountmgr
ROOT\LEGACY_NDIS\0000 : ndis
ROOT\LEGACY_NDISTAPI\0000 : Remote Access NDIS TAPI Driver
ROOT\LEGACY_NDISUIO\0000 : NDIS Usermode I/O Protocol
ROOT\LEGACY_NDPROXY\0000 : NDProxy
ROOT\LEGACY_NETBT\0000 : netbt
ROOT\LEGACY_NULL\0000 : Null
ROOT\LEGACY_PARTMGR\0000 : PartMgr
ROOT\LEGACY_PARVDM\0000 : ParVdm
ROOT\LEGACY_RASACD\0000 : Remote Access Auto Connection Driver
ROOT\LEGACY_RDPCDD\0000 : RDPCDD
ROOT\LEGACY_RDPWD\0000 : RDPWD
ROOT\LEGACY_TCPIP\0000 : tcpip
ROOT\LEGACY_TDPIPE\0000 : TDPIPE
ROOT\LEGACY_TDTCP\0000 : TDTCP
ROOT\LEGACY_VGASAVE\0000 : VgaSave
ROOT\LEGACY_VOLSNAP\0000 : VolSnap
ROOT\LEGACY_WANARP\0000 : Remote Access IP ARP Driver
27 matching device(s) found.
Exemple 22 : Rechercher (et rechercher tous) des appareils dans une classe d’installation
La commande suivante utilise l’opération DevCon FindAll pour rechercher tous les appareils sur l’ordinateur de la classe de configuration Net. Le signe égal (=) indique que Net est une classe d’installation et non un ID.
devcon findall =net
En réponse, DevCon répertorie les sept appareils suivants dans la classe de configuration Net. Les six premiers sont des appareils de pilotes miniport standard. Le septième appareil, l’adaptateur asynchrone RAS, est un appareil énuméré par logiciel (SW\*) qui n’est pas installé tant qu’il n’est pas nécessaire.
PCI\VEN_10B7&DEV_9200&SUBSYS_00BE1028&REV_78\4&BB7B4AE&0&60F0: 3Com 3C920 Integrated Fast
Ethernet Controller (3C905C-TX Compatible)
ROOT\MS_L2TPMINIPORT\0000 : WAN Miniport (L2TP)
ROOT\MS_NDISWANIP\0000 : WAN Miniport (IP)
ROOT\MS_PPPOEMINIPORT\0000 : WAN Miniport (PPPOE)
ROOT\MS_PPTPMINIPORT\0000 : WAN Miniport (PPTP)
ROOT\MS_PTIMINIPORT\0000 : Direct Parallel
SW\{EEAB7790-C514-11D1-B42B-00805FC1270E}\ASYNCMAC : RAS Async Adapter
7 matching device(s) found.
La commande suivante compare les opérations DevCon Find et DevCon FindAll en exécutant une commande DevCon Find avec les mêmes paramètres que la commande DevCon FindAll précédente.
devcon find =net
En réponse, DevCon répertorie les six appareils suivants dans la classe de configuration Net.
PCI\VEN_10B7&DEV_9200&SUBSYS_00BE1028&REV_78\4&BB7B4AE&0&60F0: 3Com 3C920 Integrated Fast
Ethernet Controller (3C905C-TX Compatible)
ROOT\MS_L2TPMINIPORT\0000 : WAN Miniport (L2TP)
ROOT\MS_NDISWANIP\0000 : WAN Miniport (IP)
ROOT\MS_PPPOEMINIPORT\0000 : WAN Miniport (PPPOE)
ROOT\MS_PPTPMINIPORT\0000 : WAN Miniport (PPTP)
ROOT\MS_PTIMINIPORT\0000 : Direct Parallel
6 matching device(s) found.
De façon prévisible, la commande DevCon Find , qui retourne uniquement les appareils actuellement installés, ne répertorie pas l’appareil énuméré par le logiciel, car l’appareil n’est pas installé.
Exemple 23 : Afficher les pilotes de filtre pour une classe de configuration
La commande suivante utilise l’opération DevCon ClassFilter pour afficher les pilotes de filtre supérieur pour la classe de configuration DiskDrive. Étant donné que cette commande n’inclut aucun opérateur classfilter, DevCon affiche les pilotes de filtre pour la classe, mais ne les modifie pas.
devcon classfilter DiskDrive upper
En réponse, DevCon affiche les pilotes de filtre supérieur pour la classe DiskDrive et confirme qu’il ne les a pas modifiés. Dans ce cas, l’affichage indique que les appareils de la classe de configuration DiskDrive utilisent le pilote de filtre supérieur PartMgr.sys.
Class filters unchanged.
PartMgr
Exemple 24 : Ajouter un pilote de filtre à une classe de configuration
La commande suivante utilise l’opération DevCon ClassFilter pour ajouter un filtre fictif, Disklog.sys, à la liste des pilotes de filtre supérieur pour la classe de configuration DiskDrive.
Cette commande utilise l’opérateur ClassFilter add-after (+) pour charger le pilote Disklog après le pilote PartMgr afin qu’il reçoive des données qui PartMgr.sys ont déjà été traitées.
Lorsque la commande démarre, le curseur virtuel est positionné avant le premier pilote de filtre. Étant donné qu’il n’est pas positionné sur un pilote particulier, DevCon ajoute le pilote Disklog à la fin de la liste des pilotes de filtre.
La commande utilise également le paramètre /r , qui redémarre le système s’il est nécessaire d’appliquer la modification du filtre de classe.
devcon /r classfilter DiskDrive upper +Disklog
En réponse, DevCon affiche les pilotes de filtre supérieur actuels pour la classe DiskDrive.
Class filters changed. Class devices must be restarted for changes to take effect.
PartMgr
Disklog
Si vous mal orthographié le nom du pilote ou essayez d’ajouter un pilote qui n’est pas installé sur le système, la commande échoue. DevCon n’ajoute pas de pilote, sauf si le pilote est inscrit en tant que service, autrement dit, sauf si le pilote a une sous-clé dans la sous-clé de Registre services (HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services).
La commande suivante teste cette fonctionnalité de protection. Il tente d’ajouter « Disklgg » (au lieu de « Disklog ») à la liste des filtres supérieurs pour la classe DiskDrive. La sortie montre que la commande échoue.
devcon /r classfilter DiskDrive upper +Disklgg
devcon failed.
Exemple 25 : Insérer un pilote de filtre dans la liste des classes
La commande suivante utilise l’opération DevCon ClassFilter pour ajouter un pilote de filtre fictif, MyFilter.sys, à la liste des pilotes de filtre supérieur pour la classe de configuration DiskDrive. La commande place MyFilter.sys entre PartMgr.sys et Disklog.sys dans l’ordre de chargement.
devcon /r classfilter DiskDrive upper @Disklog -MyFilter
La liste suivante montre les pilotes de filtre pour la classe DiskDrive avant l’envoi de la commande.
PartMgr
Disklog
La première sous-commande, @Disklog, utilise l’opérateur de positionnement (@) pour placer le curseur virtuel sur le pilote de filtre Disklog. La deuxième sous-commande , -MyFilter, utilise l’opérateur add-before (-) pour ajouter MyFilter.sys avant Disklog.sys.
La commande utilise également le paramètre /r , qui redémarre le système s’il est nécessaire d’appliquer la modification du filtre de classe.
L’opérateur de positionnement est essentiel dans cet exemple. Avant que DevCon traite les sous-commandes classfilter, le curseur virtuel se trouve au début de la liste et n’est positionné sur aucun pilote de filtre. Si vous utilisez l’opérateur add-before (+) lorsque le curseur n’est pas positionné sur un pilote, DevCon ajoute le pilote au début de la liste. Si vous utilisez l’opérateur add-after (-) lorsque le curseur n’est pas positionné sur un pilote, il ajoute le pilote à la fin de la liste.
En réponse, DevCon affiche les pilotes de filtre supérieur actuels pour la classe DiskDrive.
Class filters changed. Class devices must be restarted for changes to take effect.
PartMgr
MyFilter
Disklog
Vous pouvez également utiliser la commande suivante pour ajouter le pilote MyFilter et le placer entre PartMgr et Disklog. Dans cet exemple, la première sous-commande, @PartMgr, positionne le curseur virtuel sur le pilote de filtre PartMgr. La deuxième sous-commande, +MyFilter, utilise l’opérateur add-after (+) pour ajouter MyFilter.sys après PartMgr.
devcon /r classfilter DiskDrive upper @PartMgr +MyFilter
Exemple 26 : Remplacer un pilote de filtre
La commande suivante utilise l’opération DevCon ClassFilter pour remplacer la copie d’origine de MyFilter.sys par une nouvelle version améliorée, MyNewFilter.sys, dans la liste des pilotes de filtre pour la classe de configuration DiskDrive.
devcon /r classfilter DiskDrive upper !MyFilter +MyNewFilter
La liste suivante montre les pilotes de filtre pour la classe DiskDrive avant l’envoi de la commande.
PartMgr
MyFilter
Disklog
La première sous-commande utilise l’opérateur delete ( !) pour supprimer MyFilter de la liste des pilotes de filtre supérieur pour la classe DiskDrive. (Il n’affecte pas le fichier MyFilter.sys dans le répertoire C :\Windows\System32\Drivers.)
La deuxième sous-commande utilise l’opérateur add-after (+) pour placer le nouveau pilote de filtre à la position occupée par le pilote supprimé. Étant donné que l’opérateur delete laisse le curseur dans la position occupée par le filtre supprimé, les opérateurs add-before (-) et add-after (+) ont le même effet.)
La commande utilise également le paramètre /r , qui redémarre le système s’il est nécessaire d’appliquer la modification du filtre de classe.
En réponse, DevCon affiche la nouvelle configuration de filtre de classe pour la classe DiskDrive.
Class filters changed. Class devices must be restarted for changes to take effect.
PartMgr
MyNewFilter
Disklog
Exemple 27 : Modifier l’ordre des pilotes de filtre
La commande suivante utilise l’opération DevCon ClassFilter pour modifier l’ordre des pilotes de filtre pour la classe de configuration DiskDrive. Plus précisément, il inverse l’ordre des deuxième et troisième pilotes de filtre.
devcon /r classfilter DiskDrive upper !Disklog =@PartMgr +Disklog
La liste suivante montre les pilotes de filtre pour la classe DiskDrive avant l’envoi de la commande. Il affiche également le résultat prévu de la commande.
Avant le | Après |
---|---|
PartMgr | PartMgr |
MyNewFilter | Journal des disques |
Journal des disques | MyNewFilter |
La première sous-commande utilise l’opérateur delete ( !) pour supprimer Disklog de la liste. La deuxième sous-commande utilise l’opérateur de démarrage (=) pour déplacer le curseur virtuel vers la position de départ, puis utilise l’opérateur de positionnement (@) pour placer le curseur sur le pilote PartMgr. L’opérateur de démarrage est nécessaire, car le curseur virtuel se déplace uniquement vers l’avant dans la liste. La sous-commande finale utilise l’opérateur add-after (+) pour ajouter Disklog après PartMgr.
En réponse, DevCon affiche la nouvelle configuration de filtre de classe pour la classe DiskDrive.
Class filters changed. Class devices must be restarted for changes to take effect.
PartMgr
Disklog
MyNewFilter
Exemple 28 : Activer un appareil particulier
La commande suivante utilise l’opération DevCon Enable pour activer un contrôleur d’interruption programmable désactivé pour corriger un problème système. Étant donné que l’ID matériel du contrôleur *PNP0000 inclut un astérisque, la commande utilise le caractère guillemet unique (') pour diriger DevCon pour rechercher l’ID matériel précisément tel qu’il est spécifié dans la commande. Sinon, l’astérisque serait interprété comme un caractère sauvage carte.
devcon enable '*PNP0000
En réponse, DevCon affiche l’ID d’instance de l’appareil et explique que vous devez redémarrer le système pour activer l’appareil.
ACPI\PNP0000\4&B4063F4&0 : Enabled on reboot
Not all of 1 device(s) enabled, at least one requires reboot to complete the operation.
Vous pouvez répondre en redémarrant le système, manuellement ou à l’aide de l’opération DevCon Reboot .
La commande suivante ajoute le paramètre /r à la commande précédente. Le paramètre /r redémarre le système uniquement si le redémarrage est nécessaire pour effectuer une opération.
devcon /r enable '*PNP0000
En réponse, DevCon active l’appareil, puis redémarre le système pour rendre l’activation efficace.
Au démarrage du système, utilisez une commande d’état DevCon pour vérifier que l’appareil est activé.
devcon status '*PNP0000
ACPI\PNP0000\4&B4063F4&0
Name: Programmable interrupt controller
Driver is running.
Exemple 29 : Activer les appareils par classe
La commande suivante active tous les périphériques d’imprimante sur l’ordinateur en spécifiant la classe d’installation de l’imprimante dans une commande DevCon Enable. La commande inclut le paramètre /r , qui redémarre le système s’il est nécessaire d’activer l’activation.
devcon /r enable =Printer
En réponse, DevCon affiche l’ID d’instance de l’appareil de l’imprimante qu’il a trouvé dans la classe Printer et signale qu’il est activé. Bien que la commande inclue le paramètre /r , le système n’a pas redémarré, car un redémarrage n’a pas été nécessaire pour activer l’imprimante.
LPTENUM\HEWLETT-PACKARDDESKJET_1120C\1&7530F08&0&LPT1.4 : Enabled
1 device(s) enabled.
Exemple 30 : Désactiver les appareils par un modèle d’ID
La commande suivante utilise l’opération DevCon Disable pour désactiver les périphériques USB sur l’ordinateur local. Il identifie les appareils par un modèle d’ID matériel (USB*). Ce modèle correspond à n’importe quel appareil dont l’ID matériel ou l’ID compatible commence par « USB ». La commande inclut le paramètre /r , qui redémarre le système s’il est nécessaire de rendre la désactivation effective.
Notez avant d’utiliser un modèle d’ID pour désactiver un appareil, déterminer quels appareils seront affectés. Pour ce faire, utilisez le modèle dans une commande d’affichage, telle que devcon status USB\* ou devcon hwids USB\*.
devcon /r disable USB*
En réponse, DevCon affiche les ID d’instance d’appareil des périphériques USB et signale qu’ils sont désactivés. Bien que la commande inclue le paramètre /r , le système n’a pas redémarré, car un redémarrage n’a pas été nécessaire pour désactiver les appareils.
USB\ROOT_HUB\4&2A40B465&0
: Disabled
USB\ROOT_HUB\4&7EFA360&0
: Disabled
USB\VID_045E&PID_0039\5&29F428A4&0&2
: Disabled
3 device(s) disabled.
Exemple 31 : Désactiver les appareils par ID d’instance d’appareil
La commande suivante utilise l’opération DevCon Disable pour désactiver les périphériques USB sur l’ordinateur local. Cette commande identifie les appareils par leurs ID d’instance d’appareil, comme indiqué par le caractère (@) qui précède chaque ID. Chaque ID d’instance d’appareil est séparé des autres par un espace.
En outre, étant donné que les ID d’instance de l’appareil incluent le caractère d’ampersand (&), ils sont placés entre guillemets. La commande inclut le paramètre /r , qui redémarre le système s’il est nécessaire de rendre la désactivation effective.
devcon /r disable "@USB\ROOT_HUB\4&2A40B465&0" "@USB\ROOT_HUB\4&7EFA360&0" "@USB\VID_045E&PID_0039\5&29F428A4&0&2"
En réponse, DevCon affiche les ID d’instance d’appareil des périphériques USB et signale qu’ils sont désactivés. Bien que la commande inclue le paramètre /r , le système n’a pas redémarré, car un redémarrage n’a pas été nécessaire pour désactiver les appareils.
USB\ROOT_HUB\4&2A40B465&0
: Disabled
USB\ROOT_HUB\4&7EFA360&0
: Disabled
USB\VID_045E&PID_0039\5&29F428A4&0&2
: Disabled
3 device(s) disabled.
Exemple 32 : Mettre à jour le pilote pour les ports de communication
La commande suivante utilise l’opération DevCon Update pour remplacer le pilote de périphérique actuel pour les ports de communication sur le système par un pilote de test spécifié dans le fichier test.inf. La commande affecte uniquement les appareils dont l’ID matériel entier est *PNP0501 (y compris l’astérisque).
Vous pouvez utiliser cette commande pour remplacer les pilotes signés sur le système par d’autres pilotes pour les tests ou la résolution des problèmes, ou pour associer les appareils à la dernière version des mêmes pilotes.
devcon update c:\windows\inf\test.inf *PNP0501
En réponse, DevCon affiche un avertissement d’installation matérielle expliquant que le pilote n’a pas réussi le test du logo Windows. Si vous sélectionnez le bouton Continuer de toute façon dans la boîte de dialogue, l’installation se poursuit.
Ensuite, DevCon affiche le message de réussite suivant.
Updating drivers for *PNP0501 from c:\windows\inf\test.inf.
Drivers updated successfully.
Vous pouvez également utiliser l’opération DevCon UpdateNI , la version non interactive de l’opération DevCon Update , pour mettre à jour les pilotes. L’opération DevCon UpdateNI est identique à l’opération DevCon Update , sauf qu’elle supprime toutes les invites utilisateur qui nécessitent une réponse et suppose la réponse par défaut à l’invite.
La commande suivante utilise l’opération DevCon UpdateNI pour installer le pilote de test.
devcon updateni c:\windows\inf\test.inf *PNP0501
Dans ce cas, DevCon n’affiche pas l’avertissement d’installation matérielle. Au lieu de cela, il part du principe que la réponse par défaut est arrêtée, arrêtez l’installation. Par conséquent, DevCon ne peut pas mettre à jour les pilotes et affiche un message d’échec.
Updating drivers for *PNP0501 from c:\windows\inf\test.inf.
devcon failed.
Exemple 33 : Installer un appareil
La commande suivante utilise l’opération DevCon Install pour installer un périphérique clavier sur l’ordinateur local. La commande inclut le chemin complet du fichier INF de l’appareil (keyboard.inf) et un ID matériel (*PNP030b).
devcon /r install c:\windows\inf\keyboard.inf *PNP030b
En réponse, DevCon signale qu’il a installé l’appareil, c’est-à-dire qu’il a créé un nœud d’appareil pour le nouvel appareil et mis à jour les fichiers de pilote pour l’appareil.
Device node created. Install is complete when drivers files are updated...
Updating drivers for *PNPO30b from c:\windows\inf\keyboard.inf
Drivers updated successfully.
Exemple 34 : Installer un appareil à l’aide d’une configuration sans assistance
L’exemple suivant montre comment installer l’adaptateur de bouclage Microsoft pendant une installation sans assistance de Microsoft Windows XP.
Pour installer cet appareil pendant une installation sans assistance, commencez par ajouter les fichiers suivants à un disque de floppy : devcon.exe et netloop.inf (C :\Windows\inf\netloop.inf).
Ensuite, dans la section [GUIRunOnce] du fichier d’installation sans assistance, ajoutez la commande DevCon suivante :
a:\devcon /r install a:\Netloop.inf '*MSLOOP
Cette commande identifie l’adaptateur de bouclage à l’aide de son ID matériel *MSLOOP. Le caractère de guillemet unique précédent « *MSLOOP » indique à DevCon d’interpréter littéralement la chaîne, autrement dit, pour interpréter l’astérisque dans le cadre de l’ID matériel, et non comme caractère générique carte.
La commande spécifie également que DevCon utilise le fichier Netloop.inf (sur le disque de floppy) dans l’installation. Le paramètre /r redémarre l’ordinateur uniquement si un redémarrage est nécessaire pour terminer l’installation.
Enfin, ajoutez les paramètres de configuration réseau au fichier d’installation sans assistance et exécutez l’installation sans assistance.
Exemple 35 : Supprimer des appareils par modèle d’ID d’instance d’appareil
La commande suivante utilise l’opération DevCon Remove pour supprimer tous les périphériques USB de l’ordinateur. Il identifie les appareils par un modèle d’ID d’instance d’appareil qui correspond à n’importe quel ID d’instance d’appareil (chemin d’accès du Registre) qui commence par la chaîne « USB\ ». Le caractère (@) distingue l’ID d’instance de l’appareil d’un ID matériel ou d’un ID compatible. La commande inclut également le paramètre /r qui redémarre le système s’il est nécessaire d’effectuer la procédure de suppression.
Avertissement
Avant de supprimer des appareils à l’aide d’un modèle, déterminez quels appareils sont affectés. Pour ce faire, utilisez le modèle dans une commande d’affichage, telle que devcon status @usb\*
ou devcon hwids @usb\*
.
devcon /r remove @usb\*
En réponse, DevCon affiche l’ID d’instance de l’appareil des appareils qu’il a supprimés.
USB\ROOT_HUB\4&2A40B465&0 : Removed
USB\ROOT_HUB\4&7EFA360&0 : Removed
USB\VID_045E&PID_0039\5&29F428A4&0&2 : Removed
3 device(s) removed.
Exemple 36 : Supprimer un périphérique réseau particulier
La commande suivante utilise l’opération DevCon Remove pour désinstaller le pilote miniport NDISWAN à partir de l’ordinateur local. La commande spécifie la classe Net, puis affine la recherche en spécifiant les appareils de la classe dont l’ID matériel ou l’ID compatible incluent « ndiswan ». La commande inclut également le paramètre /r , qui redémarre le système si le redémarrage est nécessaire pour rendre la procédure de suppression effective.
Avertissement Avant de supprimer les appareils à l’aide d’un modèle, déterminez les appareils qui seront affectés. Pour ce faire, utilisez le modèle dans une commande d’affichage, telle que devcon status =net *ndiswan
ou devcon hwids =net *ndiswan*
.
devcon /r remove =net *ndiswan*
En réponse, DevCon affiche l’ID d’instance de l’appareil qu’il a supprimé.
ROOT\MS_NDISWANIP\0000 : Removed 1 device(s) removed.
Exemple 37 : Analyser l’ordinateur pour les nouveaux appareils
La commande suivante utilise l’opération DevCon Rescan pour analyser l’ordinateur local pour les nouveaux appareils.
devcon rescan
En réponse, DevCon signale qu’il a analysé le système, mais qu’il n’a trouvé aucun nouvel appareil.
Scanning for new hardware.
Scanning completed.
Exemple 38 : Redémarrer un appareil
La commande suivante utilise l’opération DevCon Restart pour redémarrer l’adaptateur de bouclage sur l’ordinateur local. La commande limite la recherche à la classe d’installation Net et, dans cette classe, spécifie l’ID d’instance d’appareil de l’adaptateur de bouclage, @'ROOT\*MSLOOP\0000. Le caractère (@) identifie la chaîne en tant qu’ID d’instance d’appareil. Le caractère de guillemet unique ('), qui demande une recherche littérale, empêche DevCon d’interpréter l’astérisque dans l’ID comme caractère générique carte.
devcon restart =net @'ROOT\*MSLOOP\0000
En réponse, DevCon affiche l’ID d’instance de l’appareil et signale le résultat.
ROOT\*MSLOOP\0000 : Restarted
1 device(s) restarted.
Exemple 39 : Redémarrer l’ordinateur local
La commande suivante utilise l’opération DevCon Reboot pour redémarrer le système d’exploitation sur l’ordinateur local et associer le redémarrage à une installation matérielle. Contrairement au paramètre /r , l’opération DevCon Reboot ne dépend pas du code de retour d’une autre opération.
Vous pouvez inclure cette commande dans les scripts et les fichiers batch qui nécessitent le redémarrage du système.
devcon reboot
En réponse, DevCon affiche un message indiquant qu’il redémarre l’ordinateur (redémarrage de l’ordinateur local).
DevCon utilise la fonction ExitWindowsEx standard pour redémarrer. Si l’utilisateur a ouvert des fichiers sur l’ordinateur ou qu’un programme ne se ferme pas, le système ne redémarre pas tant que l’utilisateur n’a pas répondu aux invites système pour fermer les fichiers ou mettre fin au processus.
Exemple 40 : Affecter un ID matériel à un appareil hérité
La commande suivante utilise l’opération DevCon SetHwID pour affecter l’ID matériel, le bip, à l’appareil beep hérité.
La commande utilise l’ID d’instance de l’appareil, ROOT\LEGACY_BEEP\0000, car l’appareil hérité beep n’a pas d’ID matériels ou d’ID compatibles. Il utilise le caractère (@) pour indiquer que la chaîne est un ID d’instance d’appareil.
La commande n’utilise aucun paramètre de symbole pour positionner l’ID. Par défaut, DevCon ajoute de nouveaux ID matériels à la fin d’une liste d’ID de matériel. Dans ce cas, étant donné que l’appareil n’a pas d’autres ID matériels, le placement n’est pas pertinent.
devcon sethwid @ROOT\LEGACY_BEEP\0000 := beep
En réponse, DevCon affiche un message indiquant qu’il est ajouté à la liste des ID matériels de l’appareil. Il affiche également la liste des ID matériels résultants. Dans ce cas, il n’existe qu’un seul ID matériel dans la liste.
ROOT\LEGACY_BEEP\0000 : beep
Modified 1 hardware ID(s).
Exemple 41 : Ajouter un ID matériel à tous les appareils hérités
La commande suivante utilise l’opération DevCon SetHwID pour ajouter l’ID matériel, hérité, à la liste des ID matériels pour tous les appareils hérités.
La commande utilise le paramètre de symbole pour ajouter le - nouvel ID matériel à la fin de la liste d’ID matériels de l’appareil, dans le cas où un ID matériel préféré a été créé pour l’un des appareils. Il utilise également un modèle d’ID d’instance d’appareil, @ROOT\LEGACY\*
pour identifier les appareils hérités sur l’ordinateur, c’est-à-dire tous les appareils dont l’ID d’instance d’appareil commence par ROOT\LEGACY*
.
devcon sethwid @ROOT\LEGACY* := -legacy
En réponse, DevCon affiche les listes d’ID matériel résultants pour tous les appareils affectés.
ROOT\LEGACY_AFD\0000 : legacy
ROOT\LEGACY_BEEP\0000 : beep,legacy
ROOT\LEGACY_CRCDISK\0000 : legacy
ROOT\LEGACY_DMBOOT\0000 : legacy
ROOT\LEGACY_DMLOAD\0000 : legacy
ROOT\LEGACY_FIPS\0000 : legacy
...
ROOT\LEGACY_WANARP\0000 : legacy
Modified 27 hardware ID(s).
Après avoir affecté le même ID matériel à un groupe d’appareils, vous pouvez utiliser les autres opérations DevCon pour afficher et modifier les appareils dans une seule commande.
Par exemple, la commande suivante affiche l’état de tous les appareils hérités.
devcon status legacy
Exemple 42 : Supprimer un ID matériel de tous les appareils hérités
La commande suivante utilise l’opération DevCon SetHwID pour supprimer l’ID matériel, hérité, dans la liste des ID matériels pour tous les appareils hérités.
La commande utilise l’ID matériel, hérité, pour identifier tous les appareils qui ont cet ID matériel. Ensuite, il utilise le paramètre de symbole ! pour supprimer l’ID matériel hérité .
devcon sethwid legacy := !legacy
En réponse, DevCon affiche les listes d’ID matériel résultants pour tous les appareils affectés.
ROOT\LEGACY_AFD\0000 :
ROOT\LEGACY_BEEP\0000 : beep
ROOT\LEGACY_CRCDISK\0000 :
ROOT\LEGACY_DMBOOT\0000 :
ROOT\LEGACY_DMLOAD\0000 :
ROOT\LEGACY_FIPS\0000 :
...
ROOT\LEGACY_WANARP\0000 :
Modified 27 hardware ID(s).
Exemple 43 : Ajouter, supprimer et remplacer des ID matériels
La série d’exemples suivante montre comment utiliser les fonctionnalités variées de l’opération DevCon SetHwID .
Cette série utilise un appareil fictif, DeviceX, avec l’ID d’instance de l’appareil, ROOT\DeviceX\0000. Avant d’utiliser DevCon, l’appareil disposait de la liste suivante d’ID matériels :
Hw3 Hw4
La commande suivante utilise le + symbole pour ajouter Hw1 et Hw2 au début d’une liste d’ID matériels pour DeviceX. Étant donné que Hw2 apparaît déjà dans la liste, il est déplacé, pas ajouté. La commande identifie l’appareil par son ID d’instance d’appareil, comme indiqué par le caractère (@) qui précède l’ID.
devcon sethwid @ROOT\DEVICEX\0000 := +Hw1 Hw2
En réponse, DevCon affiche la nouvelle liste d’ID matériel de l’appareil. Notez que Hw1 et Hw2 apparaissent au début de la liste dans l’ordre spécifié.
ROOT\DEVICEX\0000 : Hw1,Hw2,Hw3,Hw4
Modified 1 hardware ID(s).
En outre, DevCon signale qu’il a modifié une liste d’ID matériel, c’est-à-dire la liste d’ID matériel d’un appareil.
La commande suivante utilise le symbole ! pour supprimer l’ID matériel Hw1 . Il répertorie ensuite l’ID matériel, Hw5, sans paramètre de symbole. Sans paramètres de symbole, SetHwID ajoute l’ID matériel à la fin de la liste des ID matériels de l’appareil.
Cette commande montre que, contrairement aux autres paramètres de symbole de l’opération DevCon SetHwID , le symbole ! s’applique uniquement à l’ID matériel qu’il préfixe.
devcon sethwid @ROOT\DeviceX\0000 := !Hw1 Hw5
En réponse, DevCon affiche la liste d’ID matériel résultant pour DeviceX.
ROOT\DEVICEX\0000 : Hw2,Hw3,Hw4,Hw5
Modified 1 hardware ID(s).
La commande suivante utilise le paramètre = pour remplacer tous les ID matériels dans la liste de DeviceX par un ID matériel unique, DevX.
devcon sethwid @ROOT\DeviceX\0000 := =DevX
En réponse, DevCon affiche la liste d’ID matériel résultant pour DeviceX.
ROOT\DEVICEX\0000 : DevX
Modified 1 hardware ID(s).
Le message de réussite indique que DevCon a modifié l’ID matériel d’un appareil.
Exemple 44 : Mettre à jour de force la hal
L’exemple suivant montre comment utiliser DevCon pour mettre à jour hal sur l’ordinateur. Dans cet exemple, un testeur souhaite remplacer l’APIC APIC HAL uniprocesseur qui convient le mieux à l’ordinateur par un HAL APIC APCI multiprocesseur à des fins de test.
La première commande utilise l’opération DevCon SetHwID pour modifier l’ID matériel de hal de acpiapic_up, l’ID matériel des hals uniprocesseurs, en acpiapic_mp, l’ID matériel des haLs multiprocesseurs.
Vous devez modifier l’ID matériel, car le fichier INF pour hal inclut des pilotes pour les haL uniprocesseurs et multiprocesseur. Le système sélectionne le pilote le plus approprié dans le fichier INF en fonction de l’ID matériel de l’appareil. Si vous ne modifiez pas l’ID matériel, la commande DevCon Update réinstalle simplement le pilote HAL uniprocesseur.
Dans la commande suivante, la commande identifie hal par son ID d’instance, ROOT\ACPI_HAL\0000, comme indiqué par le @ caractère qui précède l’ID. La commande utilise le + caractère pour rendre acpiapic_mp le premier ID matériel de la liste pour hal. Ensuite, il utilise le caractère ! pour supprimer l’ID matériel acpiapic_up de la liste des ID pour le HAL.
devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_mp !acpiapic_up
En réponse, DevCon affiche la nouvelle liste d’ID matériel suivante pour hal.
ROOT\ACPI_HAL\0000 : acpiapic_mp
Modified 1 hardware ID(s).
La commande suivante utilise l’opération DevCon Update pour mettre à jour le pilote pour hal.
devcon update c:\windows\inf\hal.inf acpiapic_mp
Ensuite, DevCon affiche le message de réussite suivant.
Updating drivers for acpiapic_mp from c:\windows\inf\hal.inf.
Drivers updated successfully.
Exemple 45 : Ajouter et supprimer des packages de pilotes
Les exemples suivants montrent comment utiliser DevCon pour ajouter, supprimer et afficher des packages de pilotes tiers (OEM) dans le magasin de pilotes.
La première commande, une commande DevCon Dp_add , copie le fichier INF de l’exemple de pilote Grille-pain dans le magasin de pilotes, autrement dit, dans le répertoire %Windir%\inf. La commande inclut le chemin complet du fichier INF pour l’exemple de pilote Grille-pain.
Cette commande est destinée aux pilotes et appareils tiers (OEM), mais vous pouvez utiliser l’exemple Grille-pain pour tester les commandes.
devcon dp_add C:\WinDDK\5322\src\general\toaster\inf\i386\toaster.inf
En réponse, DevCon signale qu’il a ajouté le fichier d’inf du grille-pain au magasin de pilotes et l’a nommé Oem2.inf.
Driver Package 'oem2.inf' added.
Avant de le copier dans le magasin de pilotes, Windows compare la version binaire du fichier INF aux versions binaires des fichiers INF dans le magasin de pilotes pour vous assurer qu’il n’ajoute pas de fichier en double. Par exemple, si vous répétez la commande pour ajouter Grille-pain.inf au magasin de pilotes, DevCon ne crée pas de fichier OEM*.inf. Il signale simplement le nom du fichier existant, comme indiqué dans la sortie DevCon suivante.
devcon dp_add C:\WinDDK\5322\src\general\toaster\inf\i386\toaster.inf
Driver Package 'oem2.inf' added.
devcon dp_add C:\WinDDK\5322\src\general\toaster\inf\i386\toaster.inf
Driver Package 'oem2.inf' added.
Pour supprimer le package de pilotes pour le pilote Grille-pain du magasin de pilotes, vous devez utiliser le nom de fichier OEM*.inf pour le pilote. Pour rechercher le nom de fichier du pilote, utilisez la commande DevCon Dp_enum.
La commande suivante répertorie tous les packages de pilotes OEM et quelques-unes de leurs propriétés.
devcon dp_enum
En réponse, DevCon génère l’affichage suivant :
c:\WinDDK\5322\tools\devcon\i386>devcon dp_enum
The following 3rd party Driver Packages are on this machine:
oem2.inf
Provider: Microsoft
Class: unknown
Ces informations indiquent que le package de pilotes fourni par Microsoft avec la classe d’appareil non spécifiée (Grille-pain) est nommé OEM2.inf. Vous pouvez utiliser ces informations pour supprimer le package de pilotes associé au fichier.
La commande suivante supprime le fichier OEM2.inf du magasin de pilotes, ainsi que ses fichiers INF précompilés (.pnf) et catalogue (.cat). La commande utilise le nom de fichier OEM*.inf.
devcon dp_delete oem2.inf
En réponse, DevCon affiche un message indiquant que la commande a réussi :
Driver Package 'oem2.inf' deleted.
Le nom de fichier OEM*.inf est requis dans la commande DevCon Dp_delete. Si vous essayez d’utiliser le nom d’origine du fichier INF, la commande échoue, comme indiqué dans la sortie DevCon suivante.
devcon dp_delete C:\WinDDK\5322\src\general\toaster.inf
Deleting the specified Driver Package from the machine failed.
devcon failed.