Récemment j’ai eu besoin de pouvoir récupérer automatiquement les numéros de série des écrans connectés au poste de travail en environnement windows je précise tout de suite. Curieusement sur la toile, les scripts fleurissent plutôt pour avoir le numéro de l’UC ou encore du BIOS mais pour les écrans c’est beaucoup moins évident!
Difficulté supplémentaire , la plupart de mes postes de travail possèdent 2 écrans et parfois de marque hétérogène…
Pour m’inspirer, j’ai trouvé un site très intéressant qui possède une bonne base de scripts (bat,vbs,js…) qui remontent des infos sur le hardware de votre PC:
- sur le bios
- le CPU
- la mémoire
- sur les périph tels que lecteur CDROM
- les écrans
- etc…
…en s’appuyant sur le WMI.
Le wmi ?
Le WMI (windows management instrumentation) est une API gérant l’objet sur laquelle les scripts peuvent taper pour récupérer entre autres des infos des constructeurs.
Juste pour illustrer l’Architecture WMI:
Je sais bien que la mode est plutôt au langage de script Powershell mais pour un ancien comme moi le VisualBasicScript fera largement l’affaire, en mode oldschool.
Le script peut être exécuté en utilisateur standard sous Windows Seven. Pour Windows 10 , je n’ai pas testé mais si vous le faites, je veux bien avoir des retours.
Le script de récupération des numéros de série des écrans
Rendons à Caesar ses lauriers, l’auteur de ce script serait Michael Baird. Je dis « serait » car l’auteur a pondu le script avant l’ère du github , des blogs etc… Donc pas de trace de publication officielle si ce n’est dans la source en commentaire.
‘based on script from cwashington.netreach.net, read_and_parse_monitor_edid_information.vbs
‘Original Author: Michael Baird
Le code est ICI à copier / coller dans un fichier renommé avec l’extension .vbs.
Personnellement , je l’ai adapté à mes besoins . Les informations (modèle et numero de serie des écrans) sont écrites directement dans un fichier « ecran.txt » créé dans le répertoire « c:\temp ».
Pour ce faire, il suffit de commenter la ligne 81 qui affiche les infos récupérées dans une popup.
Pour commenter en vbs, on utilise le guillemet simple appelé communément simple quote : ‘
'WScript.Echo strMsg
Puis on insère à la suite les lignes suivantes qui vont créer et écrire dans le fichier « c:\temp\ecran.txt » avec les infos du constructeur.
Const ForWriting = 2 Dim fso, f Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile("c:\temp\ecran.txt", ForWriting,true) f.write(strMsg)
Après on peut envisager d’y inclure une fonction pour envoyer par mail les infos, mais ça fera l’objet d’un autre billet ^_^
c’est marrant que tu parles de VBS à la place de powershell.
On l’a vu encore récemment dans l’actualité ya encore pas mal de plateformes sous de vielles versions de Windows sur lesquelles le VBS fonctionnera à coup sur sans installation supplémentaire!
Merci beaucoup pour ces astuces, je pense que cela me sera très utile prochainement !
Quand je vais montrer ça à mes stagiaires qui viennent de faire le tour du Parc pour récupérer tous les numéros de séries des bécanes + écrans ^^’
J’avoue ya de quoi rager :-)En même temps pour débuter faut bien se taper des tâches ingrâtes sinon c’est pas marrant hein
Ca fait 2 semaines que j’utilise le script , jai eu des petits soucis pour de vieux écrans 17 pouces ACER mais pour les autre smarques c’est bien fiable!
incompatible win10
Merci pr le retour…faudrait sans doute creuser du côté de powershell