Savoir si un pc ne donne pas de réponse

Savoir si un pc ne donne pas de réponse - VB/VBA/VBS - Programmation

Marsh Posté le 22-04-2014 à 17:20:28    

Bonjour,
 
Actuellement en stage de fin de cursus de DUT en Informatique , j'ai pour sujet le développement d'une application de gestion de parc informatique pour l'entreprise.
 
Dans ce projet je dois accéder à des infos systèmes et je le fais par le biais d'un vba qui stocke celles-ci dans un txt exploité par mon appli codée en php.
 
J'ai pour l'instant réussi a accéder à ces informations mais je bute sur un problème:
 
Sur ma liste de PC certains ne me donne pas les infos demandées (notamment ceux qui sont connectés en VPN et ceux qui sont éteints ) , cela me donne un code d'erreur : Le serveur distant est inacessible ou n'existe pas (ref : 800A01CE) . Ma question est  : y'a-t-il un moyen d'éviter ceci ? J'ai essayé avec un ping mais ça ne prend pas en compte les VPN.
 
Voici mon code  
 
 
 

Code :
  1. 'On Error Resume Next
  2. Const ForReading = 1, ForWriting = 2 
  3. nom_pc = "D:\Partages\ressources\Informatique\Applications\nom_pc.txt"
  4. attenteavantkill=20  ' secondes
  5. maxtab=2000
  6. dim tableau(2000,5)  ' x,y   0 nompc,  1 username, 2 ram, 3 numero_serie , 4 modele, 5 addr_mac
  7. Dim oFso, f
  8.   Set oFso = CreateObject("Scripting.FileSystemObject" )
  9.   Set f = oFso.OpenTextFile(nom_pc, ForReading,true)
  10.  
  11.   i=0
  12.   while Not f.AtEndOfStream
  13.       ligne=f.ReadLine
  14.      
  15.          nompc= ligne
  16.          tableau(i,0)= nompc
  17. strComputer= nompc
  18. Set objWMIService = GetObject("winmgmts:" _
  19.     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2" )
  20. Set colSettings = objWMIService.ExecQuery _
  21.     ("Select * from Win32_ComputerSystem" )
  22. For Each objComputer in colSettings
  23.     Wscript.Echo "System Model: " & objComputer.Model
  24.     RAM = (round((objComputer.TotalPhysicalMemory)/(1024*1024*1024)))
  25.     Wscript.Echo "Total Physical Memory: " & _
  26. RAM
  27. Next
  28. Set colBIOS = objWMIService.ExecQuery _
  29.     ("Select * from Win32_BIOS" )
  30. For each objBIOS in colBIOS
  31.   Wscript.Echo "Serial Number: " & objBIOS.SerialNumber
  32. Next
  33. set IPConfigSet = GetObject("winmgmts:{impersonationLevel=impersonate}!//" & strComputer).ExecQuery _  
  34. ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE" )
  35. If Err.Number<>0 Then
  36. wscript.echo " - non accessible -"
  37. Else
  38. for each IPConfig in IPConfigSet
  39. wscript.echo " Adresse MAC " & vbtab & " : " & IPConfig.MACAddress
  40. Next
  41. End If
  42. Wend
  43. f.Close

Reply

Marsh Posté le 22-04-2014 à 17:20:28   

Reply

Sujets relatifs:

Leave a Replay

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