Bonjours,

Voilà, je vais tenter de vous expliquez clairement mon projet et mon problème:

Mon script a pour but :
-De scanner un réseau d'entreprise
-De vérifier si le processus iexplore.exe est lancé.

Pour cela je souhaite créer un .bat qui vas lancer un script master, ce script master va exécuter 4 autres script enfant.

Ces 4 script ont en faite le même rôle...
Ils ping une plage Ip puis remontent comme informations:
-si la machine est injouagnable(non connecté/ip inexistente)
-si la machaine est connecté
-si sur la machine connecté le processus iexplore.exe est activé

J'utilise 4 script pour découpé la plage ip qui se compose de cette manière:
-172.16.3.x (1 à 127; 128 à 254)
-172.16.9.x (1 à 127; 128 à 254)

voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
station ="172.16.3."
 
ON ERROR RESUME NEXT
for toto = 127 to 254
 
 
	Newstation= station & toto 
	'wscript.echo Newstation
 
	Set objShell = CreateObject("WScript.Shell")
	Set objExec = objShell.Exec("ping -n 1 -w 1000 " & Newstation )
	strPingStdOut = LCase(objExec.StdOut.ReadAll)
 
	If InStr(strPingStdOut, "temps") Then
 
		MachinesActive= MachinesActive +1
		Set objWMIService = GetObject("winmgmts:\\" & Newstation & "\root\cimv2")
		Set colItems = objWMIService.ExecQuery("Select * from Win32_Process")
 
		for each ObjetProcessus in colitems
	'Wscript.echo ObjetProcessus.name 
 
			If Lcase(ObjetProcessus.name)= "iexplore.exe" then
			wscript.echo Newstation & "Processus actif"
 
			Jesuisla=1 
			Cumul = cumul + 1
			end if
 
		next
 
		if Jesuisla=0 then wscript.echo Newstation & "Processus inactif"
	else 
		wscript.echo newstation & "Impossible de joindre l'hote"
 
	end if
CumulTotal = CumulTotal + 1
next 
 
wscript.echo "Machines connecté : " & MachinesActive
wscript.echo "Machine Non connecté : " & CumulTotal - MachinesActive
Wscript.echo "Processus Actif : " & cumul

voilà !

Donc mon problème réside dans le résultat.
individuelement le script marche...
mais dé que je les lance à partir du script master (qui éxécute les 4 script en simultané) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ("balayage1.vbs" )
WshShell.Run ("balayage2.vbs" )
WshShell.Run ("balayage3.vbs" )
WshShell.Run ("balayage4.vbs" )
le scan s'exécute mais n'affiche plus de résultat...
c a d que les 4 fenêtres se ferment une fois que le scan est fini.

mon but final est de pouvoir obtenir un résultat total...
c'est à dire d'additionner les résultats entre eux.
("Machines connecté" du script1 + celui du script 2,3 et 4 pour avoir un résultat finale... et ceci pareille avec "Machine non connecté" et "processus actif")

donc comment faire ? j'ai pensé comme solution de mettre le résultat final de chaque script dans un .txt puis faire une opération pour avoir un total.

est-ce réalisable ? de quel manière dois-je mi prendre ?

Je suis pas sur de m'ettre bien expliquer je veux résumé :

un .bat qui lance un script qui va exécuter 4 scripts en simultané qui vont balayé le réseau de l'entreprise pour savoir le nombre de machine connecté au reseau et le nombre de machine utilisant internet.
L soucis est au niveau de l'affichage du résultat.

Voilà j'espere avoir été claire !
je vous remercie d'avance pour votre patiente et vos réponses.