'2015 01 19
'Lancez ce .vbs de préférence avec cscript.exe //Nologo
'Ainsi la première ligne récupérée sera la effectivement la première générée par lexe qui sera lancé (et pas autre chose comme "Microsoft (R) Windows Script Host Version 5.8")
Dim ObjShell, ObjExec, Commande, PIDMonExe, UneLigneDeResultat, NumeroLigneResultat
Dim VarComputername
Dim Position
Dim LigneAvecResultatQLoad
Commande = "qfarm.exe /load"
Set ObjShell = CreateObject("WScript.Shell")
Set ObjExec = ObjShell.Exec(Commande) 'Lancement de l'exe
PIDMonExe = ObjExec.ProcessID 'Récupération du PID de l'exe
VarComputername = ObjShell.ExpandEnvironmentStrings ( "%COMPUTERNAME%" )
'Récupération du résultat affiché par l'exe
NumeroLigneResultat = 0
LigneAvecResultatQLoad = ""
Do While Not ObjExec.StdOut.AtEndOfStream
NumeroLigneResultat = NumeroLigneResultat + 1
UneLigneDeResultat = ObjExec.StdOut.ReadLine() 'On récupère une ligne générée par l'exe
If Len(UneLigneDeResultat) > 0 Then
Position = Instr(1, UneLigneDeResultat, VarComputername, 1)
If Position = 1 Then 'Si le nom de l'ordinateur a été trouvé en début de ligne (en position = 1)
LigneAvecResultatQLoad = UneLigneDeResultat 'On stocke la ligne et on sort de la boucle qui analyse le résultat affiché par l'exe
Exit Do
End If
End If
Loop
If Len(LigneAvecResultatQLoad) > 0 Then 'Si on a bien récupéré a ligne contenant la charge de notre serveur Citrix
LigneAvecResultatQLoad = Mid(LigneAvecResultatQLoad, Len(VarComputername) + 1) 'On retire le nom de l'ordinateur de la ligne
LigneAvecResultatQLoad = Trim(LigneAvecResultatQLoad) 'On supprime les espaces avant et après
Wscript.echo LigneAvecResultatQLoad 'On affiche le résultat, soit la charge du serveur citrix sur lequel on se situe
End If
'Wscript.echo "Exe terminé"
Set ObjExec = Nothing
Set ObjShell = Nothing
Lien vers le fichier : cliquez ici
Article(s) suivant(s)
Article(s) en relation(s)