Durante el tiempo más largo que he estado usando Herramientas ps de Sysinternals para enumerar y eliminar tareas en las computadoras remotas sin saber que Windows en realidad tiene líneas de comando similares ya incluidas con quizás incluso características. Echemos un vistazo.
Lista de tareas
La lista de tareas se puede utilizar para proporcionar una lista actual de todas las tareas que se están ejecutando actualmente en su PC. ¿Suena redundante con el Administrador de tareas? Pero viene con muchas más funciones.
Corriendo lista de tareas solo sin ningún parámetro devuelve una lista completa de tareas en ejecución en su computadora. Añadiendo un / SVC Switch mostrará los servicios relacionados con cada tarea, o / v para obtener más detalles sobre cada tarea, o /METRO para localizar todos los archivos .dll asociados. Además, puedes usar / FI para filtrar el ruido y mostrar los únicos que desea ver.
Por ejemplo, el siguiente comando devuelve una lista de archivos .dll utilizados para ejecutar Internet Explorer.
tasklist /m /fi "imagename eq iexplore.exe"
También puedes usar / fo para especificar el formato de salida, ya sea Lista, Tabla o CSV. Corriendo
tasklist /m /fi "imagename eq iexplore.exe" /fo list
en realidad devuelve algo como esto:
Y con “> nombre de archivo”Agregado al final, puede exportar la lista a un archivo de texto sin formato que puede enviar por correo electrónico a otra persona.
Para acceder a esta misma información desde una computadora remota, simplemente agregue “/ s computername”Al comando. Por ejemplo, el siguiente comando enumera todas las tareas en ejecución desde un sistema remoto llamado “kc-vm7”.
lista de tareas / s kc-vm7
¿Interesado? Verificar tasklist /?
para más información.
TaskKill
Puede terminar una o varias tareas usando el comando Taskkill por el ID de proceso (PID) o el nombre de la imagen.
Mando taskkill /im iexplore.exe
mata todos los navegadores Internet Explorer en su computadora.
Puede aplicar un filtro con / FI para matar un montón de tareas a la vez. O usar / T para terminar el proceso especificado y cualquier proceso hijo iniciado por él. Para aquellos tercos, use /F para acabar con ellos por la fuerza.
Igual que la Lista de tareas, para finalizar las tareas que se ejecutan en una computadora remota, simplemente use / s computername. Por ejemplo, ejecutar el siguiente comando mata todos los procesos de Internet Explorer en una computadora remota llamada kc-vm7.
taskkill /s kc-vm7 /im iexplore.exe
Con la capacidad de verificar y finalizar procesos que se ejecutan en computadoras remotas, hace las cosas mucho más fáciles para mi trabajo diario.
Potencia Shell
Para obtener una lista de los procesos que se ejecutan en una computadora remota:
Get-WmiObject -Class Win32_Process -ComputerName $computer | Select-Object -Property Name, CommandLine
Para encontrar un proceso específico que se ejecuta en una computadora remota:
Get-WmiObject -Class Win32_Process -ComputerName $computer | Where-Object {$_.name -eq $processname}
Para finalizar ese proceso específico en una computadora remota:
(Get-WmiObject -Class Win32_Process -ComputerName $computer | Where-Object {$_.name -eq $processname}).Terminate()
O,
$process = Get-WmiObject -Class Win32_Process -ComputerName $computer | Where-Object {$_.name -eq $processname} if ($process) { $process.Terminate() } else { $processname + " is not running on " + $computer }