VBscript Reinicia un programa según la cantidad de procesos abiertos

Acá les comparto un script que reinicia un programa al tener cierta cantidad de procesos abiertos, el script es simple espero que les ayude, tambien puede sermodificado para saber la cantidad de memoria y agregar el reconocimiento de S.O

Ejemple esta creado cuando IE posee mas de 5 procesos abierto


Option Explicit 
'variables 
Dim ObjWMI, ColSettings, ObjProcessor 
Dim StrComputer, ObjNetwork 
Dim SO, objShell, i
'variables para lectura de archivo
Dim objFSO, proces, txt, , file, oShell

Set ObjNetwork = WScript.CreateObject("WScript.Network") 
StrComputer = Trim(ObjNetwork.ComputerName) 
Set ObjWMI = GetObject("WINMGMTS:" & "{ImpersonationLevel=Impersonate,AuthenticationLevel=Pkt}!\\" & StrComputer & "\Root\CIMV2") 
Set ColSettings = ObjWMI.ExecQuery ("SELECT * FROM Win32_Processor") 
For Each ObjProcessor In ColSettings 
   Set objShell = CreateObject("Wscript.Shell")
   i = objShell.RUN ("cmd /c tasklist | find ""iexplore.exe"" /c >C:\microtec\moni_ie.txt")
    if i = 0 then
     WScript.Sleep 1000
     set objFSO = CreateObject("Scripting.FileSystemObject")
     'abrir archivo txt de procesos
     set txt = objFSO.OpenTextFile ("C:\Microtec\moni_ie.txt")
     'leer txt y cerrar txt
     proces = txt.Readline
     txt.close
     WScript.Sleep 1000
     if proces > 4 then
      Set objShell = CreateObject("Wscript.Shell")
      objShell.RUN ("cmd /c taskkill /IM iexplore.exe /f ")
      WScript.Sleep 1000
      objShell.RUN ("iexplore.exe")
     end if
    end if
    'WScript.Echo proces
Next 

Publicar un comentario

0 Comentarios