Identifier rapidement et facilement les composants matériels de l'ordinateur

À l'aide du WMIC (Windows Management Instrumentation Command-line)

Pouvoir identifier rapidement les composants de son ordinateur est nécessaire quand une panne survient ou quand on souhaite changer un ou plusieurs composants. La recherche de la désignation des composants relèvent parfois du casse-tête pour l'utilisateur non aguerri. Bien qu'il existe plusieurs logiciels permettant l'identification des composants, ceux-ci donnent parfois trop d'informations.

Ce tutoriel présente une méthode pour identifier les composants d'un ordinateur (processeur, RAM, carte graphique…) sans avoir besoin d'installer un logiciel tiers. Windows dispose en effet d'un outil de gestion appelé WMI et d'une ligne de commande associée WMIC.

Ce tutoriel s'adresse donc aux utilisateurs qui ne sont pas vraiment à l'aise avec le matériel informatique. Il permettra également aux développeurs de s'initier à WMI et à WMIC. Des exemples et des liens vers la documentation sur le site du MSDN sont donnés tout le long de ce tutoriel.

Vous accéderez rapidement à l'identification d'un composant en le sélectionnant dans le tableau suivant :

Votre avis et vos suggestions sur cet article m'intéressent !

Alors après votre lecture, n'hésitez pas : Commentez Donner une note à l'article (5).

Article lu   fois.

L'auteur

Profil ProSite personnelPage personelle de Jérôme Briot (Dut)

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Introduction

I-A. Présentation de WMIC

Pour présenter brièvement WMIC, je vais citer le site du MSDN (http://msdn.microsoft.com/fr-fr/library/cc784189.aspx) :

« La ligne de commande WMIC (Windows Management Instrumentation Command-line) fournit une interface de ligne de commande simple dans l'infrastructure de gestion Windows (WMI) qui vous permet de tirer parti de WMI pour gérer les ordinateurs exécutant un système d'exploitation de la famille Windows Server 2003. WMIC interagit avec les commandes d'utilitaires et les environnements existants, et la ligne de commande peut facilement être affinée à l'aide de scripts ou d'applications d'administration. ».

En bref, WMI est un outil de gestion d'ordinateur et WMIC est la ligne de commande correspondante.

L'objectif de ce tutoriel n'est pas de vous expliquer en détail ce qu'est le WMI, ni ce que vous pouvez faire avec WMIC. Je me focaliserai sur les quelques commandes qui permettent d'identifier rapidement le matériel présent sur votre machine. Pour aller plus loin, vous trouverez des liens dans le chapitre Conclusion.

Les commandes fonctionneront si les drivers propriétaires de chaque composant sont bien installés. Dans le cas contraire, WMIC renverra des informations génériques sans grande utilité.

Windows est également fourni avec l'outil systeminfo qui permet de récupérer des informations sur certains composants (système d'exploitation, BIOS, processeur, carte réseau…). Cet outil est néanmoins moins complet que les solutions présentées dans ce tutoriel.

I-B. Exécuter WMIC

Pour utiliser WMIC, vous devez au préalable ouvrir une console pour y taper les commandes. Vous pouvez ouvrir cette console avec l'une des quatre méthodes suivantes :

  • cliquez sur Démarrer, puis tapez « invite » dans la fenêtre « Rechercher les programmes ou les fichiers ». Le menu devrait proposer un lien vers cette invite de commande ;
  • cliquez sur Démarrer, puis tapez « cmd » dans la fenêtre « Rechercher les programmes ou les fichiers » ;
  • cliquez sur Démarrer > Tous les programmes > Accessoires > Invite de commande ;
  • utilisez la combinaison de touches « Windows + R », puis entrez « cmd ».

Pour tester si WMIC est opérationnel, tapez simplement la commande suivante :

 
Sélectionnez
wmic /?

Toutes les commandes sont insensibles à la casse des caractères. Vous pouvez tout écrire en lettres minuscules. Pour ma part, j'utiliserai la typologie de la documentation du MSDN.

Le modèle de ligne de commande utilisé dans ce tutoriel aura la forme suivante :

 
Sélectionnez
wmic path <classe> get <propriétés> /value

On peut parfois également remplacer le nom d'une classe par un alias. La ligne de commande devient alors :

 
Sélectionnez
wmic <alias> get <propriétés> /value

Notez l'absence du mot clé path dans cette seconde syntaxe.

Pour chaque composant, je donnerai le nom de la classe, l'alias éventuel et le lien vers la documentation. Vous aurez donc toutes les informations nécessaires afin d'adapter ces lignes de code à vos besoins spécifiques.

Pour obtenir la liste de toutes les propriétés pour une classe ou un alias donné, il suffit de ne pas mettre de propriété :

 
Sélectionnez
wmic path <classe> get /value

ou

 
Sélectionnez
wmic <alias> get /value

Pour finir cette introduction rapide à WMIC, il est possible d'exécuter des requêtes plus complexes en utilisant le WMI Query Language (WQL) dérivé du langage SQL. J'utiliserai WQL au chapitre Identifier la carte réseauIdentifier la carte réseau.

Vous trouverez plus d'informations sur WQL dans la documentation Microsoft :

II. Identifier le système d'exploitation (OS)

Classe

Alias

Documentation

Win32_OperatingSystem

OS

http://msdn.microsoft.com/en-us/library/aa394239.aspx

Bien que le système d'exploitation ne soit pas à proprement parler un composant, il peut être utile d'identifier certains de ces paramètres.

Parmi les propriétés de la classe Win32_OperatingSystem, nous nous intéresserons aux suivantes :

  • CSDVersion : le numéro du Service Pack ;
  • Manufacturer : le fabricant ;
  • Name : le nom du système d'exploitation ;
  • OperatingSystemSKU : identifiant unique de la version de Windows ;
  • OSArchitecture : architecture (32 ou 64 bits) ;
  • Version : numéro de version.

La ligne de commande à exécuter avec le nom de la classe :

 
Sélectionnez
wmic path Win32_OperatingSystem get CSDVersion,Manufacturer,Name,OperatingSystemSKU,OSArchitecture,Version /value

La commande similaire avec l'alias :

 
Sélectionnez
wmic os get CSDVersion,Manufacturer,Name,OperatingSystemSKU,OSArchitecture,Version /value

Exemple :

 
Sélectionnez
CSDVersion=Service Pack 1
Manufacturer=Microsoft Corporation
Name=Microsoft Windows 7 Édition Familiale Premium |C:\Windows|\Device\Harddisk0\Partition2
OperatingSystemSKU=3
OSArchitecture=64 bits
Version=6.1.7601

La valeur 3 de la propriété OperatingSystemSKU indique que c'est une version Home Premium Edition (voir le tableau en annexesWin32_OperatingSystem - Operating System SKU).

III. Identifier le BIOS

Classe

Alias

Documentation

Win32_BIOS

BIOS

http://msdn.microsoft.com/en-us/library/aa394077.aspx

Comme pour le système d'exploitation, le BIOS n'est pas un composant, il est néanmoins toujours utile de pouvoir identifier aisément la version installée.

Parmi les propriétés de la classe Win32_BIOS, nous nous intéresserons aux suivantes :

  • BIOSVersion : version ;
  • Manufacturer : fabricant ;
  • Name : nom.

La ligne de commande à exécuter avec le nom de la classe :

 
Sélectionnez
wmic path Win32_BIOS get BIOSVersion,Manufacturer,Name /value

La commande similaire avec l'alias :

 
Sélectionnez
wmic bios get BIOSVersion,Manufacturer,Name /value

Exemple :

 
Sélectionnez
BIOSVersion={"ALASKA - 1072009","BIOS Date: 01/03/13 12:43:51 Ver: 18.06"}
Manufacturer=American Megatrends Inc.
Name=BIOS Date: 01/03/13 12:43:51 Ver: 18.06

IV. Identifier la carte mère

Classe

Alias

Documentation

Win32_BaseBoard

BASEBOARD

http://msdn.microsoft.com/en-us/library/aa394072.aspx

Parmi les propriétés de la classe Win32_BaseBoard, nous nous intéresserons aux suivantes :

  • Manufacturer : fabricant ;
  • Product : nom ;
  • Version : version.

La ligne de commande à exécuter avec le nom de la classe :

 
Sélectionnez
wmic path Win32_BaseBoard get Manufacturer,Product,Version /value

La commande similaire avec l'alias :

 
Sélectionnez
wmic BaseBoard get Manufacturer,Product,Version /value

Exemple :

 
Sélectionnez
Manufacturer=ASUSTeK COMPUTER INC.
Product=P8Z77-M
Version=Rev 1.xx

V. Identifier le processeur (CPU)

Classe

Alias

Documentation

Win32_Processor

CPU

http://msdn.microsoft.com/en-us/library/aa394373.aspx

Parmi les propriétés de la classe Win32_Processor, nous nous intéresserons aux suivantes :

  • Manufacturer : fabricant ;
  • Name : nom ;
  • SocketDesignation : désignation du socket.

La ligne de commande à exécuter avec le nom de la classe :

 
Sélectionnez
wmic path Win32_Processor get Manufacturer,Name,SocketDesignation /value

La commande similaire avec l'alias :

 
Sélectionnez
wmic cpu get Manufacturer,Name,SocketDesignation /value

Exemple :

 
Sélectionnez
Manufacturer=GenuineIntel
Name=Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
SocketDesignation=LGA1155

VI. Identifier la mémoire RAM

Classe

Alias

Documentation

Win32_PhysicalMemory

MEMORYCHIP

http://msdn.microsoft.com/en-us/library/aa394347.aspx

Nous allons voir comment identifier les barrettes de mémoires.

Parmi les propriétés de la classe Win32_PhysicalMemory, nous nous intéresserons aux suivantes :

  • Capacity : capacité en octets ;
  • FormFactor : format (DIMM, SO-DIMM…) ;
  • Manufacturer : fabricant ;
  • PartNumber : numéro d'identification donné par le fabricant ;
  • SerialNumber : numéro de série.

La ligne de commande à exécuter avec le nom de la classe :

 
Sélectionnez
wmic path Win32_PhysicalMemory get Capacity,FormFactor,Manufacturer,PartNumber,SerialNumber /value

La commande similaire avec l'alias :

 
Sélectionnez
wmic memorychip get Capacity,FormFactor,Manufacturer,PartNumber,SerialNumber /value

Exemple :

 
Sélectionnez

Capacity=8589934592
FormFactor=8
Manufacturer=04CD
PartNumber=F3-1600C9-8GAR
SerialNumber=00000000


Capacity=8589934592
FormFactor=8
Manufacturer=04CD
PartNumber=F3-1600C9-8GAR
SerialNumber=00000000

Nous avons ici deux barrettes de RAM d'une capacité de 8 Go chacune (8589934592 octets).

La valeur 8 de FormFactor indique qu'il s'agit de barrettes DIMM (voir le tableau en annexesWin32_PhysicalMemory - Form Factor). Ce type de barrettes est installé dans les ordinateurs de bureau. Les ordinateur portables (et les mini-PC) utilisent des barrettes au format SO-DIMM. FormFactor prend alors la valeur 12.

VII. Identifier la carte réseau

Classe

Alias

Documentation

Win32_NetworkAdapter

NICCONFIG

http://msdn.microsoft.com/en-us/library/aa394216.aspx

Plusieurs adaptateurs réseau peuvent être présents sur l'ordinateur. Pour identifier la carte réseau, il faut trouver l'adaptateur qui possède une adresse MAC. Pour ce faire, il faut utiliser la syntaxe WQL avec les mots clés WHERE <propriété> IS NOT NULL.

Parmi les propriétés de la classe Win32_NetworkAdapter, nous nous intéresserons aux suivantes :

  • Description : description ;
  • ServiceName : nom du service.

La ligne de commande à exécuter avec le nom de la classe :

 
Sélectionnez
wmic path Win32_NetworkAdapter where "MACAddress is not Null" get Description,ServiceName /value

La commande similaire avec l'alias :

 
Sélectionnez
wmic nicconfig where "MACAddress is not Null" get Description,ServiceName /value

Exemple :

 
Sélectionnez
Description=Realtek PCIe GBE Family Controller
ServiceName=RTL8167

On peut également identifier la carte réseau si on connaît son adresse MAC au préalable ou en récupérant cette adresse avec getmac, par exemple.

Dans ce cas, la syntaxe WQL devient :

 
Sélectionnez
wmic path Win32_NetworkAdapter where MACAddress="XX:XX:XX:XX:XX:XX" get Description,ServiceName /value

ou

 
Sélectionnez
wmic nicconfig where MACAddress="XX:XX:XX:XX:XX:XX" get Description,ServiceName /value

VIII. Identifier la carte graphique (IGP ou GPU)

Classe

Alias

Documentation

Win32_VideoController

-

http://msdn.microsoft.com/en-us/library/aa394512.aspx

Parmi les propriétés de la classe Win32_VideoController, nous nous intéresserons à la suivante :

  • Name : nom.

La ligne de commande à exécuter avec le nom de la classe :

 
Sélectionnez
wmic path Win32_VideoController get Name /value

Exemple :

 
Sélectionnez
Name=NVIDIA Quadro K2000

Sur un ordinateur portable avec un chipset graphique intégré au processeur (IGP) et une carte graphique dédiée (GPU) :

 
Sélectionnez
Name=Intel(R) HD Graphics 3000


Name=NVIDIA GeForce GT 520MX

IX. Identifier le moniteur

Classe

Alias

Documentation

Win32_DesktopMonitor

DESKTOPMONITOR

http://msdn.microsoft.com/en-us/library/aa394122.aspx

Parmi les propriétés de la classe Win32_DesktopMonitor, nous nous intéresserons aux suivantes :

  • MonitorManufacturer : fabricant ;
  • MonitorType : type ;
  • Name : nom.

La ligne de commande à exécuter avec le nom de la classe :

 
Sélectionnez
wmic path Win32_DesktopMonitor get MonitorManufacturer,MonitorType,Name /value

La commande similaire avec l'alias :

 
Sélectionnez
wmic desktopmonitor get MonitorManufacturer,MonitorType,Name /value

Exemple :

 
Sélectionnez
MonitorManufacturer=IIYAMA CORPORATION
MonitorType=iiyama ProLite PL2206W
Name=iiyama ProLite PL2206W

X. Identifier les disques de stockages (internes ou externes)

Classe

Alias

Documentation

Win32_DiskDrive

DISKDRIVE

http://msdn.microsoft.com/en-us/library/aa394132.aspx

Parmi les propriétés de la classe Win32_DiskDrive, nous nous intéresserons aux suivantes :

  • InterfaceType : type d'interface (IDE, USB…) ;
  • Manufacturer : fabricant ;
  • MediaType : type de disque (fixe, amovible…) ;
  • Model : modèle ;
  • SerialNumber : numéro de série ;
  • Size : capacité en octets.

La ligne de commande à exécuter avec le nom de la classe :

 
Sélectionnez
wmic path Win32_DiskDrive get InterfaceType,Manufacturer,MediaType,Model,SerialNumber,Size /value

La commande similaire avec l'alias :

 
Sélectionnez
wmic diskdrive get InterfaceType,Manufacturer,MediaType,Model,SerialNumber,Size /value

Exemple :

 
Sélectionnez
InterfaceType=IDE
Manufacturer=(Lecteurs de disque standard)
MediaType=Fixed hard disk media
Model=M4-CT128M4SSD2 ATA Device
SerialNumber=3030303030303030333137303930413231384533
Size=128034708480


InterfaceType=USB
Manufacturer=(Lecteurs de disque standard)
MediaType=External hard disk media
Model=WD My Passport 0730 USB Device
SerialNumber=WXM1E60FT135
Size=500072348160

XI. Conclusion

Ce tutoriel vous a présenté une méthode simple et rapide pour identifier les composants de votre ordinateur, grâce à WMIC, outil disponible avec la majorité des distributions Windows modernes.

L'interface de gestion WMI est un outil puissant qui permet d'effectuer bien d'autres tâches que celles présentées dans ce tutoriel.

Voici quelques liens utiles si vous étudiez plus en détail WMI et WMIC :

Vous trouverez également des informations dans les ouvrages relatifs à l'administration système sur la page livres de la rubrique Windows.

Pour finir, en cas de problème, vous pourrez chercher ou poser vos questions dans l'un des forums Programmation Windows.

XII. Remerciements

Je remercie toopac et sevyc64 pour leurs conseils. Je remercie également jacques_jean pour la relecture orthographique de ce document.

XIII. Annexes

XIII-A. Win32_OperatingSystem - Operating System SKU

Le tableau suivant donne la signification des valeurs renvoyées par la propriété OperatingSystemSKU de la classe Win32_OperatingSystem.

Valeur

Désignation

0

Undefined

1

Ultimate Edition

2

Home Basic Edition

3

Home Premium Edition

4

Enterprise Edition

5

Home Basic N Edition

6

Business Edition

7

Standard Server Edition

8

Datacenter Server Edition

9

Small Business Server Edition

10

Enterprise Server Edition

11

Starter Edition

12

Datacenter Server Core Edition

13

Standard Server Core Edition

14

Enterprise Server Core Edition

15

Enterprise Server Edition for Itanium-Based Systems

16

Business N Edition

17

Web Server Edition

18

Cluster Server Edition

19

Home Server Edition

20

Storage Express Server Edition

21

Storage Standard Server Edition

22

Storage Workgroup Server Edition

23

Storage Enterprise Server Edition

24

Server For Small Business Edition

25

Small Business Server Premium Edition

26

Home Premium N

27

Enterprise N

28

Ultimate N

29

Web Server, Server Core

30

Windows Essential Business Server Management Server

31

Windows Essential Business Server Security Server

32

Windows Essential Business Server Messaging Server

33

Server Foundation

34

Windows Home Server 2011

35

Windows Server 2008 without Hyper-V for Windows Essential Server Solutions

36

Server Standard without Hyper-V

37

Server Datacenter without Hyper-V (full installation)

38

Server Enterprise without Hyper-V (full installation)

39

Datacenter Edition without Hyper-V, Server Core

40

Standard Edition without Hyper-V, Server Core

41

Enterprise Edition without Hyper-V, Server Core

42

Hyper-V Server

43

Storage Server Express (core installation)

44

Storage Server Standard (core installation)

45

Storage Server Workgroup (core installation)

46

Storage Server Enterprise (core installation)

47

Starter N

48

Professional

49

Professional N

50

Windows Small Business Server 2011 Essentials

51

Server For SB Solutions

52

Server Solutions Premium

53

Server Solutions Premium (core installation)

54

Server For SB Solutions EM

55

Server For SB Solutions EM

56

Windows MultiPoint Server

61

Windows Essential Server Solution Management SVC

62

Windows Essential Server Solution Additional SVC

63

Small Business Server Premium (core installation)

64

Server Hyper Core V

72

Server Enterprise (evaluation installation)

76

Windows MultiPoint Server Standard (full installation)

77

Windows MultiPoint Server Premium (full installation)

79

Server Standard (evaluation installation)

96

Storage Server Standard (evaluation installation)

98

Windows 8 N

100

Windows 8 Single Language

101

Windows 8

103

Professional with Media Center

Source : Win32_OperatingSystem class et GetProductInfo function (lignes grises).

Retour au chapitre Identifier le système d'exploitationIdentifier le système d'exploitation (OS).

XIII-B. Win32_PhysicalMemory - Form Factor

Valeur

Désignation

0

Unknown

1

Other

2

SIP

3

DIP

4

ZIP

5

SOJ

6

Proprietary

7

SIMM

8

DIMM

9

TSOP

10

PGA

11

RIMM

12

SODIMM

13

SRIMM

14

SMD

15

SSMP

16

QFP

17

TQFP

18

SOIC

19

LCC

20

PLCC

21

BGA

22

FPBGA

23

LGA

Source : Win32_PhysicalMemory class.

Retour au chapitre Identifier la mémoire RAMIdentifier la mémoire RAM.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2014 Jérôme Briot. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.