Necesito saber como podria mostrar los 5 primeros procesos de Windows que se estan ejecutando al momento.
En esta linea:
Código vb:
Ver original{impersonationLevel=impersonate}//localhost").ExecQuery("Select name,PercentProcessorTime,IDProcess from Win32_PerfFormattedData_PerfProc_Process where PercentProcessorTime > 0")
la consulta es en WQL asi que no puedo agregarle LIMIT ni ORDER BY.
Se me ocurre un for o un array y mostrarlo 5 veces, pero le estoy errando con la sintaxis ya que me tira error. Y al no tener experiencia en este lenguaje se me hace dificil.
Les dejo el codigo. A ver si pueden darme una mano en agregarle un for o array y ordenarlo por el de mayor porcentaje.
Código vb:
Ver original'Declaración de variables y constantes
dim objfile
dim objdestination
dim strline
CONST WTER ="processCPUperc.txt" 'NOMBRE FICHERO PARA ESCRIBIR
'Inicializacion objeto FSO y fichero de log
set objfile = createobject("scripting.filesystemobject")
set salida = wscript.stdout
'Recuperar procesos que estén en uso en la CPU
for each Process in GetObject("winmgmts:{impersonationLevel=impersonate}//localhost").ExecQuery("Select name,PercentProcessorTime,IDProcess from Win32_PerfFormattedData_PerfProc_Process where PercentProcessorTime > 0")
'Descarte del total y del no utilizado
if (process.name = "_Total" or process.name = "Idle") then
'Aqui se puede introducir código para cuando se cumpla la condicion
else
'Volcado al output
salida.writeline day(now)& "-" & month (now)& "-" & year(now)& ":" & Hour(now) & ":"& Minute(now) & " - " & process.name & " - %: " & process.percentprocessortime & " - ID:" & process.idprocess
end if
next
Muchas Gracias !!