La boîte à Tutoriels de Christopher PECAUD

Installation et utilisation du module WMI pour Python

Laisser un commentaire

SOMMAIRE

I Introduction
II Téléchargement et installation du module
III Utilisation du module
IV Conclusion

I Introduction

Dans cet article je vais vous montrer comment installer, configurer et utiliser le module WMI pour Python dans un environnement Windows. Nous verrons aussi quelques cas d’utilisation. Je vous rappelle que WMI est une implémentation de Microsoft de WBEM qui permet de fournir modèle d’information commun (CIM) afin d’obtenir des informations détaillées sur un système informatique.

II Téléchargement et installation du module

Vous pourrez installer ce module à partir d’un exécutable que vous pourrez télécharger à cette adresse . Il suffit de cliquer sur le lien « Download files » dans la barre latérale à gauche.

description image

Cliquez ensuite sur le fichier d’installation .exe pour commencer le téléchargement.

Les fichiers vont être installés dans le dossier suivant : \Lib\site-packages de votre dossier d’installation de Python.

Une autre alternative est d’utiliser une fenêtre de commande en ligne et de taper la commande suivante

Pip install wmi

Un prérequis est nécessaire pour pouvoir l’utiliser le paquet pywin32 doit être téléchargé et installé dans le dossier des packages car il contient des dépendances nécessaires à l’utilisation du module wmi. Pour ce faire il faut utiliser la commande en ligne suivante :

Pip install pywin32

Vous devriez voir apparaître une jauge de téléchargement et un message vous disant que l’installation s’est bien déroulée.

description image

III Utilisation du module

Une fois le module installé, on peut l’utiliser dans un éditeur en l’important comme ceci :

import wmi

Une fois importée il suffit de créer une instance de type WMI pour pouvoir travailler avec ensuite :

c = wmi.WMI ()

Une fois notre objet créé nous allons pouvoir faire appel à la classe d’objet que l’on souhaite requêter. Par exemple pour obtenir des informations concernant vos imprimantes installés sur votre ordinateur on utilisera la classe Win32_Printer.

Il faut inclure cette classe dans une boucle afin de récupérer l’ensemble des imprimantes installées sur votre ordinateur et on peut ainsi avoir accès au nom de l’imprimante, de port réseau et à l’état de l’imprimante, comme ceci :

for s in c.Win32_Printer ():

     print(s.Caption, s.PortName, s.PrinterStatus) 

Nous pouvons requêter de même la classe Win32_PrinterConfiguration pour obtenir des informations concernant la qualité d’impression (en dpi bien entendu) de l’imprimante ou encore son nom :

for s in c.win32_PrinterConfiguration ():

  print(s.Name, s.PrintQuality)

Voici quelques exemples de code complets.

Comme nous l’avons vu, le premier permet d’obtenir des informations sur les imprimantes installées sur votre ordinateurs (nom, nom du port et état de l’imprimante, ou encore la qualité d’impression) :

import wmi
c = wmi.WMI ()

for s in c.Win32_Printer ():
  print(s.Caption, s.PortName, s.PrinterStatus)

for s in c.win32_PrinterConfiguration ():
  print(s.Name, s.PrintQuality)

Le deuxième permet d’obtenir des informations concernant le système d’exploitation installé sur son ordinateur.

import wmi

c = wmi.WMI ()
for s in c.Win32_OperatingSystem ():
  print(s.Caption, s.Version)

V Conclusion

Nous avons vu à travers ce tutoriel deux méthodes nous permettant de créer un template d'email à partir de données issues des cellules d’un classeur Excel.

Nous avons vu par l’intermédiaire de ce tutoriel qu’il est finalement assez simple de réaliser des échanges de données de contacts entre Excel et Outlook.

blog comments powered by Disqus