Option Explicit Dim objFSO, objTextFileResultat, objTextFileListe Dim CheminScriptActuel, CheminFichierBAT, CheminFichierListeMachines, ScriptFileName Dim Position Dim NomMachine Dim objWMIService, colItems, objItem Dim LigneResultat 'Déclaration des constantes Const ForReading = 1 Const ForWritting = 2 Const ForAppending = 8 ScriptFileName = wscript.scriptname Position = InstrRev(ScriptFileName,".") if (Position > 0) Then ScriptFileName = Left(ScriptFileName, Position - 1) CheminFichierBAT = ScriptFileName & "_Resultat.txt" CheminFichierListeMachines = ScriptFileName & "_ListeMachines.txt" CheminScriptActuel = Left(wscript.scriptfullname,Len(wscript.scriptfullname)-Len(wscript.scriptname)-1) CheminFichierBAT = CheminScriptActuel & "\" & CheminFichierBAT CheminFichierListeMachines = CheminScriptActuel & "\" & CheminFichierListeMachines If (Len(CheminFichierBAT) > 0) And (Len(CheminFichierListeMachines) > 0) Then Set objFSO = CreateObject("Scripting.FileSystemObject") If objFSO.FileExists(CheminFichierListeMachines) Then 'Si le fichier qui contient la liste des machines existe Set objTextFileListe = objFSO.OpenTextFile(CheminFichierListeMachines, ForReading, True) Set objTextFileResultat = objFSO.OpenTextFile(CheminFichierBAT, ForWritting, True) 'Ecriture de l'entête des colonnes : objTextFileResultat.WriteLine("NomMachine" & VbTab & "Name" & VbTab & "Date&Heure" & VbTab & "LatencyLastRecorded" & VbTab & "LatencySessionAverage") Do Until objTextFileListe.AtEndOfStream NomMachine = objTextFileListe.Readline 'Lecture et affichage de la ligne 'Wscript.Echo "Traitement de " & NomMachine LigneResultat = "" On Error Resume Next Err.Clear Set objWMIService = GetObject("winmgmts:\\" & NomMachine & "\root\CIMV2") 'Wscript.Echo Err.Number & " - " & Err.Description If Err.Number = 0 Then Err.Clear Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PerfRawData_CitrixICA_ICASession",,48) 'Wscript.Echo Err.Number & " - " & Err.Description 'objTextFileResultat.WriteLine(LigneResultat) 'Wscript.Echo "Caption: " & objItem.Caption 'Wscript.Echo "Description: " & objItem.Description 'Wscript.Echo Err.Number & " - " & Err.Description For Each objItem in colItems LigneResultat = NomMachine LigneResultat = LigneResultat & VbTab & objItem.Name & VbTab & Now & VbTab & objItem.LatencyLastRecorded & VbTab & objItem.LatencySessionAverage objTextFileResultat.WriteLine(LigneResultat) Next If 1 = 2 Then Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PerfRawData_CitrixICA_ICASession",,48) For Each objItem in colItems Wscript.Echo "-----------------------------------" Wscript.Echo "Win32_PerfRawData_CitrixICA_ICASession instance" Wscript.Echo "-----------------------------------" Wscript.Echo "Caption: " & objItem.Caption Wscript.Echo "Description: " & objItem.Description Wscript.Echo "Frequency_Object: " & objItem.Frequency_Object Wscript.Echo "Frequency_PerfTime: " & objItem.Frequency_PerfTime Wscript.Echo "Frequency_Sys100NS: " & objItem.Frequency_Sys100NS Wscript.Echo "LatencyLastRecorded: " & objItem.LatencyLastRecorded Wscript.Echo "LatencySessionAverage: " & objItem.LatencySessionAverage Wscript.Echo "LatencySessionDeviation: " & objItem.LatencySessionDeviation Wscript.Echo "Name: " & objItem.Name Wscript.Echo "Timestamp_Object: " & objItem.Timestamp_Object Wscript.Echo "Timestamp_PerfTime: " & objItem.Timestamp_PerfTime Wscript.Echo "Timestamp_Sys100NS: " & objItem.Timestamp_Sys100NS Next End If Else Wscript.Echo VbTab & "Erreur pour joindre " & NomMachine LigneResultat = NomMachine & VbTab & "Erreur pour joindre la machine" objTextFileResultat.WriteLine(LigneResultat) End If Set colItems = Nothing Set objWMIService = Nothing Loop objTextFileResultat.Close 'Fermeture du fichier objTextFileListe.Close Set objTextFileResultat = Nothing Set objTextFileListe = Nothing Else Wscript.echo "Le fichier '" & CheminFichierListeMachines & "' n'existe pas" Set objTextFileListe = objFSO.OpenTextFile(CheminFichierListeMachines, ForWritting, True) objTextFileListe.Close 'Fermeture du fichier Set objTextFileListe = Nothing End If Set objFSO = Nothing Else Wscript.echo "Operation annulee" End If 'CheminFichierBAT