[PowerShell]Extraire un ID matériel

Extraire un ID matériel [PowerShell] - Shell/Batch - Programmation

Marsh Posté le 10-06-2020 à 09:36:33    

:hello:
 
Contexte: j'ai différents modèles de lecteur codes-barres (du même constructeur) chez mes clients, il faut que je les répertorie car certains modèles ne seront pas compatibles avec une nouvelle norme (en gros)
 
Ce que je souhaite faire : Créer un petit programme/script/obiwan qui permettrai d'extraire l'id matériel qui remonte ici:
https://i.ibb.co/GsdmVWQ/ID-materiel.png    
Le client aura a cliquer sur une icône et ça affichera en gros "ok" ou "nok" selon le modèle.
 
Mes connaissances en programmation: :o
 
J'ai bien entendu cherché par moi-même au début sans résultat
 
Je cherche un début de piste au moins pour m'aiguiller au début :) pas forcément une solution clé en main
 
Merci à vous :jap:


Message édité par MisterMoT le 17-06-2020 à 17:52:38

---------------
Labellisé Original HB Seal Of Quality :o
Reply

Marsh Posté le 10-06-2020 à 09:36:33   

Reply

Marsh Posté le 10-06-2020 à 14:01:55    

Tu peux faire ça en AutoIt : tu simules l'action que ferait un humain avec son clavier/souris pour récupérer l'info (ouverture de fenêtres, clic sur des boutons...).
Sinon, faudra faire un script qui analyse la base de registre. Ca peut se faire aussi en Autoit, VB/VBA, C#...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-06-2020 à 22:08:27    

euh en ligne de powershell (mais en c#ou n'importe quel langage qui interroge du wmi) tu as l'infos :
 

Code :
  1. $null -ne (get-wmiobject -query "select * from Win32_PNPEntity Where deviceid Like '%USB\VID_0C2E&PID_0BE1%'" )

Reply

Marsh Posté le 12-06-2020 à 00:08:08    

HA merci :)


---------------
Labellisé Original HB Seal Of Quality :o
Reply

Marsh Posté le 17-06-2020 à 18:00:32    

Re,
 
J'ai avancé un petit peu par rapport à ta réponse (je rappelle que je pars de 0 et que ça doit être du gros bricolage dégueulasse si c'est vu par des yeux avertis :o  )
 
Donc j'en suis là:

Code :
  1. $shell = new-object -com wscript.shell
  2. $variable = ($null -ne (Get-WMIObject Win32_PnPEntity | where {$_.PNPDeviceID -like "USB\VID_0C2E&PID_0BE1*"}) )
  3. if ($variable -eq "True" ) {$shell.popup("ok" )}
  4. else {$shell.Popup("nok" )}


 
Et ça fonctionne bien! Maintenant ce que je n'arrive pas à faire c'est de définir plusieurs "USB\VIDblabla" différents sur la même ligne. En gros j'ai 3 modèles qui sont ok et tous les autres sont nok.  
Une autre piste? :D
 
Merci


---------------
Labellisé Original HB Seal Of Quality :o
Reply

Marsh Posté le 17-06-2020 à 18:13:02    

Code :
  1. $devids = @("USB\VID_0C2E&PID_0BE1"
  2.            "USB\VID_0C2E&PID_0BE2"
  3.            "USB\VID_0C2E&PID_0BE3"
  4.           )
  5. $systemdevices = Get-WMIObject Win32_PnPEntity
  6. Add-Type -AssemblyName PresentationFramework
  7. $result = $false
  8. foreach ($devid in $devids) {
  9.     if ($null -ne ($systemdevices | Where-Object { $_.PNPDeviceID -like "$($devid)*" })) {
  10.         $result = $true
  11.         break
  12.     }
  13. }
  14. if ($result) {
  15.     [System.Windows.MessageBox]::Show('Trouvé')
  16. } else {
  17.     [System.Windows.MessageBox]::Show('Pas trouvé')
  18. }

Reply

Marsh Posté le 17-06-2020 à 20:51:14    

Ha ben merci :o :D


---------------
Labellisé Original HB Seal Of Quality :o
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed