@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 línea, y que el goto es la siguiente línea. 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.
Autor: José Manuel Tella Llop
¿Alguna pregunta? Visita nuestros foros de ayuda