[VBS] Organiser la sortie d'un script dans un tableau excel

Organiser la sortie d'un script dans un tableau excel [VBS] - VB/VBA/VBS - Programmation

Marsh Posté le 27-04-2006 à 11:06:31    

Bonjour, j'ai fait un script qui utilise les WMI afin de récupérer divers infos sur les machines de mon réseau.
Voici le script, si vous êtes motivé pour tout lire...  :whistle:  

Code :
  1. On error Resume Next
  2. Const wbemFlagReturnImmediately = &h10
  3. Const wbemFlagForwardOnly = &h20
  4. arrComputers = Array("IP1","IP2" )
  5. For Each strComputer In arrComputers
  6.    WScript.Echo "" & strComputer
  7. Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2" )
  8. '==Gestion de l'erreur pour une ip non attribuée==
  9. If err.number <> 0 Then
  10.    WScript.Echo "Adresse IP introuvable"
  11. Else
  12. Set colItems = objWMIService.ExecQuery ("Select Name from Win32_ComputerSystem" )
  13. For Each objItem in colItems
  14.    WScript.Echo "" & objitem.Name
  15. Next
  16. '==DOMAINE==
  17. Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2" )
  18. Set colSettings = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem" )
  19. For Each objComputer in colSettings
  20.     Wscript.Echo "" & objComputer.Domain
  21. Next
  22. '==SYSTEME D'EXPLOITATION==
  23. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2" )
  24. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2" )
  25. Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem",,48)
  26. For Each objItem in colItems
  27. Wscript.Echo "" & objItem.Caption
  28. Next
  29. '==ADRESSE MAC==
  30. Set objWMIService = GetObject( "winmgmts:\\" & strComputer & "\root\cimv2" )
  31. Set colItems = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration" & " where IPEnabled=TRUE" )
  32. For Each objItem in colItems
  33. Wscript.Echo  "" & objItem.MACAddress
  34. Next
  35. '==RAM TOTALE SUR LA MACHINE==
  36. Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2" )
  37. Set colSettings = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem" )
  38. For Each objComputer in colSettings
  39.     Wscript.Echo "" & objComputer.TotalPhysicalMemory & "     "
  40. Next
  41. '==LECTEURS (CD/DVD) PRESENTS SUR LA MACHINE==
  42. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2" )
  43. Set colItems = objWMIService.ExecQuery("Select * from Win32_CDROMDrive" )
  44. For Each objItem in colItems
  45.     '==Type==
  46.     Wscript.Echo "" & objItem.Description
  47.     '==Nom==
  48.     Wscript.Echo "" & objItem.Name
  49. Next
  50. '==PROCESSEUR==
  51. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2" )
  52. Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor" )
  53. For Each objItem in colItems
  54.     Wscript.Echo "" &objItem.name
  55. Next
  56. '==RESOLUTION D'ECRAN==
  57. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2" )
  58. Set colItems = objWMIService.ExecQuery("Select * from Win32_DesktopMonitor" )
  59. For Each objItem in colItems
  60.     Wscript.Echo "" & objItem.ScreenWidth & "x" & objItem.ScreenHeight
  61. Next
  62. '==UTILISATEUR LOGGE==
  63. Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2" )
  64. Set colComputer = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem" )
  65. For Each objComputer in colComputer
  66.     Wscript.Echo "" & objComputer.UserName
  67. Next
  68. '==ESPACE DISQUE==
  69. Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2" )
  70. Set colDisks = objWMIService.ExecQuery ("Select * from Win32_LogicalDisk WHERE NOT (Size=null) AND
  71. (DeviceID='C:'OR DeviceID= 'D:' OR DeviceID='E:'OR DeviceID='F:'OR DeviceID='G:'OR DeviceID='H:'OR DeviceID='I:'" )
  72. For Each objDisk in colDisks
  73.     '==Lettre==
  74.     Wscript.Echo  objDisk.DeviceID 
  75.     '==Type==
  76.     Wscript.Echo  "" & objDisk.Description
  77.     '==Espace Total==
  78.     Wscript.Echo  "" & objDisk.Size
  79.     '==Espace Libre==
  80.     Wscript.Echo  "" & objDisk.FreeSpace 
  81. Next
  82. '==IMPRIMANTES INSTALLEE SUR LA MACHINE==
  83.    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2" )
  84.    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Printer", "WQL",_
  85.                                                           wbemFlagReturnImmediately +wbemFlagForwardOnly)
  86.    For Each objItem In colItems
  87.       WScript.Echo "" & objItem.Caption
  88. Next
  89. WScript.Echo
  90. End If
  91. err.clear
  92. Next


Je voudrais envoyer la sortie du script dans un tableau excel afin de pourvoir l'exploité avec un autre logiciel ensuite. Or quand je tape la commande cscript test.vbs > test.xls (par exemple) ça me renvoit toutes les informations les unes à la suite des autre, ligne par ligne, comme ça :
http://img135.imageshack.us/img135/2462/ex15ux.jpg
 
Et c'est là que j'ai besoin de votre aide, j'aimerais organiser toutes les infos, de cette manière :
http://img135.imageshack.us/img135/7631/ex26mk.jpg
 
Donc sur la première colonne il faudrai qu'il y ai toutes les adresse IP, sur la deuxième les noms de toutes les machines, etc etc... Mais le problème c'est que chaque PC a un nombre différent de lecteur et disque dur, il n'y a pas un nombre fixe...donc ça fait une difficulté en plus :/
Je ne sais pas si c'est faisable mais j'en appel à vous quand même, en espérant que vous pourrez m'aider.
Merciii  :jap:


Message édité par zell45 le 27-04-2006 à 11:08:23

---------------
GuildWars : [Irivine Kinneas G/M | Yuna Llez R/El | Tidus Wong M/En [HCT]] [Ogame/U36/Ally A.M.I]
Reply

Marsh Posté le 27-04-2006 à 11:06:31   

Reply

Sujets relatifs:

Leave a Replay

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