'2015 01 22 '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 NbrSessions, NbrSessionsActives Commande = "query.exe session" 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 NbrSessions = 0 NbrSessionsActives = 0 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 UneLigneDeResultat = Trim(UneLigneDeResultat) If (Len(UneLigneDeResultat) > 0) And (Left(Lcase(UneLigneDeResultat), 7) = "ica-tcp") Then NbrSessions = NbrSessions + 1 Position = Instr(1, Lcase(UneLigneDeResultat), "active", 1) If Position > 0 Then NbrSessionsActives = NbrSessionsActives + 1 End If Loop Wscript.echo "NbrSessions : " & NbrSessions Wscript.echo "NbrSessionsActives : " & NbrSessionsActives 'Shutdown.exe -r -f -t 1 -c "Reboot du serveur car qfarm load à 10000 ou 20000" -d p:2:4 'Wscript.echo "Exe terminé" Set ObjExec = Nothing Set ObjShell = Nothing