He hecho un script a modo de ejercicio(llevo poco con vbscript)
La secuencia que desarrolla es: comprobar conexiones cada x segundos las cuales llevan la palabra que te interesa(en mi caso ESTABLISHED, para conexiones establecidas), despues te sale un dialogo, si le das a sí, intenta cerrarlo si el das a no... la conexión se guardará en un diccionario para que no vuelva a preguntarte por la misma conexión y si le das a cancelar... se cerrará el script....
Cada vez que el script comprueba la conexión sale una consola por cada comando que ejecuta( he conseguido ponerlo de fondo ) y mi pregunta es la siguiente... sabéis alguna manera de que la consola se oculte o salga minimizada por defecto?
he leido sobre el comando run... pero este no me deja interceptar la salida de los comandos.
He aquí el script(quizá a alguien le interese)
Código:
dim dict
set dict=createobject("Scripting.Dictionary")
set ob1=createobject("wscript.shell")
cadena=inputbox("Cadena que buscará en las conexiones","","ESTABLISHED")
segundos=inputbox("Milisegundos que pasarán has volver a comprobar","","3000")
do
set program=ob1.exec("netstat -ano")
set tl=ob1.exec("tasklist")
tls=split(tl.stdout.readall,vbnewline)
do
linea=program.stdout.readline
if (instr(linea,cadena)<>0) and not( dict.Exists(linea) ) then
alinea=split(linea)
for each elemento in alinea
if isNumeric(elemento) then
for each linea2 in tls
if (instr(linea2," " & elemento & " ")<>0) then
res=msgbox(linea & vbnewline & linea2,vbyesnocancel,"¿Cerrar?")
if res=vbyes then
set mata=ob1.exec("taskkill /F /pid " & elemento)
msgbox mata.stdout.readall & vbnewline & mata.stderr.readall
end if
if res=vbno then
dict( linea ) = 0
end if
if res=vbcancel then
wscript.quit
end if
end if
next
end if
next
end if
loop until program.stdout.atendofstream
wscript.sleep cInt(segundos)
loop
saludos y gracias