Page 1 sur 1

WMI Tools (Des outils pour jouer avec le WMI)

Posté : dim. 04 avr. 2010 16:53
par Tlem
Vous cherchez à récupérer des informations sur votre système et vous ne savez pas comment vous y prendre. :cry:

Cela peut se faire de différentes manières :
  • - Utiliser des outils en ligne de commande existant, mais cela implique que ces outils soient livrés avec votre code, car sur une autre machine, il n'y sont peut être pas ...

    - Explorer la base de registre. Cette méthode n'est pas toujours facile à utiliser car le nombre de clé à explorer peut vite devenir astronomique et très lourd.

    - Utiliser le WMI :). Ce sera sans aucun doute la solution la plus universelle et la plus simple à mettre en œuvre.
Nous allons donc (puisque c'est le titre du sujet) aborder la méthode WMI.
Pour cela je vous ai mis à disposition un pack spécial, qui contient trois outils :
  • - ScriptomaticV2.hta - version Microsoft. Lien d'origine disponible ici.
    - ScriptoMatic.au3 - version au3 de ScriptomaticV2. Lien d'origine ici.
    - WMICodeCreator.exe - version améliorée de ScriptomaticV2.hta. Lien d'origine ici.
[blink]Télécharger le Pack WMI_Tools.zip[/blink]


Même si j'y ai mis plusieurs outils, celui qui sera le plus intéressent, sera très surement ScriptoMatic.au3, car celui-ci vous produira directement le code en AU3. ;)

Voici à quoi ressemble l'outil :
Image

Et voici à quoi ressemble une des fenêtres de résultat :
Image

Si vous le souhaitez, vous pouvez supprimer directement dans l'interface de la GUI les éléments qui ne vous sera pas utiles.
Ensuite, le résultat est placé dans une simple chaine de texte, qu'il vous suffira d'exploiter comme bon vous semble.
Évidement, vous pourrez adapter le code pour stocker chaque information indispensable à vos besoins dans une variable unique, qu'il vous suffira d'exploiter dans votre code.

Voici une adaptation du code de la GUI ci-dessus, modifié et simplifié pour afficher simplement la résolution du bureau. Certes, avec AutoIt il suffit d'utiliser les macros @DesktopWidth et @DesktopHeight pour connaitre cette information, mais si vous voulez connaitre le type ou le fabricant de l'écran, ce sera beaucoup moins simple sans WMI. ;)

Code : Tout sélectionner

; Generated by AutoIt Scriptomatic

Global $colItems, $ScreenHeight, $ScreenWidth
$objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DesktopMonitor", "WQL", 0x30)

If IsObj($colItems) then
   For $objItem In $colItems
      $ScreenHeight = $objItem.ScreenHeight
      $ScreenWidth = $objItem.ScreenWidth
      if $ScreenHeight <> "" then ExitLoop
   Next
  Msgbox(0,"WMI Desktop résolution","Screen Height = " & $ScreenHeight & @CRLF &  "Screen Width = " & $ScreenWidth)
Else
   Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_DesktopMonitor" )
Endif
Pour information et historique :
► Afficher le texteScriptomaticV2.hta
Voici l'outil WMICodeCreator.exe qui permet une recherche plus précise d'un élément en particulier (et plus ...) :
Image

Et sa fenêtre de résultat :
Image

*** A noter :
Si vous regardez bien dans la liste des onglets de WMICodeCreator.exe, vous y découvrirez aussi la possibilité de créer un code pour exécuter une méthode, et un autre pour gérer la réception d'un événement système ... :roll:
Et sur le dernier onglet, vous aurez la possibilité d'explorer les espaces de noms et ainsi de trouver n'importe quel élément disponible sur votre système avec parfois sa description dans la zone de droite.
Vous pouvez aussi consulter le site de Microsoft sur les Classes WMI afin d'avoir plus d'information sur le sujet (en Anglais)


Merci à Davyly pour le lien dans ce sujet vers l'outil WMICodeCreator.exe que je ne connaissais pas. :mrgreen:
.

Re: WMI Tools (Des outils pour jouer avec le WMI)

Posté : lun. 05 avr. 2010 03:41
par Tlem
A peine sortit et déjà une première mise à jour. :lol:

Mise à jour du script ScriptOmatic.au3 qui corrige quelques bugs et problèmes divers liés à l'interface, ainsi que la traduction en Français de la GUI. ;)

Re: WMI Tools (Des outils pour jouer avec le WMI)

Posté : sam. 16 avr. 2011 23:16
par ricky
Hello,

il y a un soucis, il manque ceci : #include <WindowsConstants.au3>
Sinon, j'ai des erreurs de compilation.
@pluche

Re: WMI Tools (Des outils pour jouer avec le WMI)

Posté : dim. 17 avr. 2011 01:12
par Tlem
Pouvez-vous donner plus de détails, car chez moi avec AutoIt v3.3.6.0 je n'ai aucun problème d'include ou de compilation ... :shock:

Re: WMI Tools (Des outils pour jouer avec le WMI)

Posté : dim. 17 avr. 2011 15:08
par ricky
Voici ce que j'ai comme erreurs :
► Afficher le texte
J'ai la version 3.3.6.1 du Aut2Exe.exe.

Re: WMI Tools (Des outils pour jouer avec le WMI)

Posté : dim. 17 avr. 2011 19:08
par Tlem
Vous ne devez sans doute pas avoir le bon script.
Celui qui est dans le Pack WMI_Tools.zip fonctionne parfaitement ...

D'ailleurs, les includes sont :
  • #include <GuiConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

Re: WMI Tools (Des outils pour jouer avec le WMI)

Posté : lun. 18 avr. 2011 07:42
par ricky
Effectivement oui, celui-là est bon mais celui-ci :

ScriptoMatic.au3 - version au3 de ScriptomaticV2 disponible ici.

est faux et pose problème.

Re: WMI Tools (Des outils pour jouer avec le WMI)

Posté : lun. 18 avr. 2011 22:54
par Tlem
Heuu, ben oui, dernière édition du sujet le 19 Décembre 2006 ... :lol:
Je modifie le premier sujet, pour indiquer que ce sont les liens d'origines et pas forcément la dernière version disponible ici. 8)

Re: WMI Tools (Des outils pour jouer avec le WMI)

Posté : sam. 13 avr. 2013 11:39
par FernandG
Bonjour,

Pour info et pour le partage, j'utilise également WMI Administrative Tools de Microsoft disponible ici.

Bonne journée.