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

Classes DevCon

DevCon ListClass

DevCon DriverFiles

DevCon DriverNodes

DevCon Resources

DevCon Stack

DevCon Status

DevCon Find

DevCon FindAll

DevCon ClassFilter

DevCon Enable

DevCon Disable

DevCon Update et UpdateNI

DevCon Install

DevCon Remove

DevCon Rescan

DevCon Restart

DevCon Reboot

DevCon SetHwID

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.

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.

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.