sábado, 31 de octubre de 2009

Para Administradores: como matar programas P2P en máquinas remotas

Sólo para XP Profesional o W2003. Únicamente se necesita estar definido como usuario Administrador en las máquinas remotas.

Consta de tres cosas:

1) Fichero de nombre: pgms.txt en donde pondremos los nombres de los programas que queremos matar en las máquinas remotas. Por ejemplo, crearlo con:

notepad.exe
calc.exe
emule.exe

2) Fichero de nombre: máquinas.txt en donde pondremos los nombres o direcciones IP de las máquinas en que queremos matar esos procesos. Por ejemplo:

\\KA0001
\\192.168.0.10

3) Una batería de comandos, podéis crearosla con el nombre kill_process.cmd y copiais íntegramente este contenido:

----------- desde aquí sin incluir esta línea -----------
@echo off

if {%1} EQU {} (echo Falta usuario&goto :EOF)

setlocal enabledelayedexpansion

set user=%1
set /p pass="password del usuario %1 : "
cls

for /f %%f in (maquinas.txt) do call :proc00 %%f

endlocal
goto :EOF

:proc00
for /f "skip=2 tokens=1,2,* delims= " %%g in ('tasklist /S %1 /U %user% /P %pass%') do call :proc01 %1 %%g %%h
goto :EOF

:proc01
for /f %%i in (pgms.txt) do if {%2} EQU {%%i} taskkill /S %1 /U %user% /P %pass% /PID %3
goto:EOF
--------------- hasta aquí sin esta línea---------------

(fijaos, que cada "for" debe estar en una linea, y que el goto es la siguiente linea. Por tanto, cuidado con el cortar y pegar y respetad exactamente los espacios en blanco).

NOTA: La manera de usarlo sería (en una ventana de comandos -cmd.exe-, en la carpeta en donde tengamos los tres ficheros):

kill_process administrador

siendo "administrador" el nombre de un usuario administrador en las máquinas remotas. Este comando pedirá por pantalla la password de dicho usuario y a continuación matará los procesos.

No hay comentarios:

Publicar un comentario