Enumere y elimine programas en ejecución desde una computadora remota mediante los comandos integrados de Windows

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:

Lista de tareas del símbolo del sistema con fo list 600x357: enumere y elimine programas en ejecución desde una computadora remota mediante los comandos integrados de Windows

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

Lista de tareas del símbolo del sistema computadora remota 600x325: enumere y elimine los programas en ejecución desde una computadora remota mediante los comandos integrados de Windows

¿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
}

Deja un comentario