Página principal Sobre mi Links de Interés Contacto Blogs de referencia

Translate

domingo, 17 de junio de 2018

Textual description of firstImageUrl

Windows CMD: Listar y cerrar procesos activos en un equipo remoto (Taskkill).

En el laboratorio de hoy, vamos a ve como podemos cerrar procesos que se encuentran activos en un sistema operativo remoto desde la consola de comandos de Microsoft Windows.

En un laboratorio anterior, aprendimos como poder extraer información de nuestro sistema operativo y, uno de los comandos que usamos para conseguir listar los procesos activos en un sistema operativo fue TASKLIST.
También, podéis acceder al canal de YouTube de Pantallazos.es, donde encontrareis un vídeo tutorial en el que listaremos y cerraremos un proceso activo en un equipo remoto usando los comandos TASKLIST y TASKKILL.


Podéis acceder y suscribiros al canal de Youtube de Pantallazos.es en el enlace que mostramos a continuación:

Como pudimos ver anteriormente, TASKLIST  nos proporcionará un listado completo de todos los procesos que se encuentran activos en nuestro sistema operativo, la cantidad de memoria que están usando, el nombre de la sesión que lo ha ejecutado y su ID de proceso. Este comando nos puede resultar muy útil si tenemos que detectar los procesos de nuestro sistema operativo que estén consumiendo gran cantidad de recursos.

C:\>Tasklist /?

TASKLIST [/S sistema [/U usuario [/P [contraseña]]]]
         [/M [módulo] | /SVC | /V] [/FI filtro] [/FO formato] [/NH]

Descripción:
    Esta herramienta muestra una lista de procesos que se están ejecutando
    en un equipo local o remoto.

Lista de parámetros:
   /S     sistema            Especifica el sistema remoto al que conectarse.

   /U     [dominio\]usuario  Especifica el contexto de usuario en el que el comando debe ejecutarse.

   /P     [contraseña]       Especifica la contraseña para el contexto
                             de usuario dado. Pide entrada si se omite.

   /M     [module]           Enumera todas las tareas que actualmente usan
                             el nombre exe/dll dado. Si el nombre del módulo
                             no se especifica, se muestran todos los módulos
                             cargados.

   /SVC                      Muestra los servicios hospedados en cada proceso.

   /APPS                        Muestra aplicaciones de la Tienda y sus
                                procesos asociados.

   /V                        Muestra información detallada de tareas.

   /FI    filtro             Muestra un conjunto de tareas que coinciden
                           con el criterio especificado por el filtro.

   /FO    formato            Especifica el formato de salida.
                           Valores válidos: "TABLE", "LIST", "CSV".

   /NH                       Especifica que el "encabezado de columna"
                           no debe mostrarse en la salida.
                           Válido solo para formatos "TABLE" y "CSV".

   /?                      Displays this help message.

Filtros:
    Nombre filtro   Operadores válidos         Valores válidos
    -------------   ------------------         --------------------------
    STATUS          eq, ne                    RUNNING | SUSPENDED
                                              NOT RESPONDING | UNKNOWN
    IMAGENAME       eq, ne                    Nombre de imagen
    PID             eq, ne, gt, lt, ge, le    Valor del PID
    SESSION         eq, ne, gt, lt, ge, le    Número de sesión
    SESSIONNAME     eq, ne                    Nombre de sesión
    CPUTIME         eq, ne, gt, lt, ge, le    Tiempo de la CPU en el formato
                                              hh:mm:ss.
                                              hh - horas,
                                              mm - minutos, ss - segundos
    MEMUSAGE        eq, ne, gt, lt, ge, le    Uso de memoria en KB
    USERNAME        eq, ne                    Nombre de usuario en formato
                                              [dominio\]usuario
    SERVICES        eq, ne                    Nombre de servicio
    WINDOWTITLE     eq, ne                    Título de ventana
    MODULES         eq, ne                    DLL name

NOTA: los filtros "WINDOWTITLE" y "STATUS" no se tienen en cuenta cuando se cons
ultan
      equipos remotos.

Examples:
    TASKLIST
    TASKLIST /M
    TASKLIST /V /FO CSV
    TASKLIST /SVC /FO LIST
    TASKLIST /APPS /FI "STATUS eq RUNNING"
    TASKLIST /M wbem*
    TASKLIST /S sistema /FO LIST
    TASKLIST /S sistema /U dominio\nombreusuario /FO CSV /NH
    TASKLIST /S sistema /U nombreusuario /P contraseña /FO TABLE /NH
    TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running"

Como pudimos ver en nuestro anterior laboratorio escribiendo TASKLIST sin modificadores de ningún tipo, nos presentará un listado de todos los procesos que se encuentran activos en nuestro sistema operativo local. En nuestro laboratorio hemos abierto una ventana del bloc de notas para que podáis ver como podemos cerrar un proceso de una forma clara y fácil. Podéis ver que el procedo del bloc de notas de Microsoft Windows aparece en el listado con el PID numero 4348.


Una vez hayamos averiguado el ID de proceso del proceso que queremos cerrar usaremos el comando llamado TASKKILL para matarlo. 


C:\WINDOWS\system32>taskkill /?

TASKKILL [/S sistema] [/U usuario [/P [contraseña]]]]
         { [/FI filtro] [/PID IdProceso | /IM NombreImagen] } [/T] [/F]

Descripción:
    Esta herramienta se usa para terminar tareas mediante el Id.
    de proceso (PID) o nombre de imagen.

Lista de parámetros:
  /S    sistema            Especifica el sistema remoto al que conectarse.

  /U    [dominio\]usuario  Especifica el contexto de usuario en el que
                           el comando debe ejecutarse.

  /P    [contraseña]       Especifica la contraseña para el contexto de
                           usuario dado. Pide entrada si se omite.

  /FI   filter             Aplica un filtro para seleccionar un conjunto de
                           tareas. Permite el uso de "*". ej. imagename eq
                           acme*

  /PID  processid          Especifica el PID del proceso que debe terminarse.
                           Use TaskList para obtener el PID.

  /IM   nombre de imagen   Especifica el nombre de imagen del proceso que
                           se va a terminar. Puede usarse el comodín '*'
                           para especificar todas las tareas o nombres de
                           imagen.

  /T                       Termina el proceso especificado y todos los
                           procesos secundarios iniciados por él.

  /F                       Especifica terminar forzosamente el proceso.

  /?                       Muestra este mensaje de ayuda.

Filtro(s):
    Nombre filtro   Operadores válidos         Valores válidos
    ------------    ------------------         -------------------------
    STATUS          eq, ne                     RUNNING |
                                               NOT RESPONDING | UNKNOWN
    IMAGENAME       eq, ne                     Nombre de imagen.
    PID             eq, ne, gt, lt, ge, le     Valor de PID.
    SESSION         eq, ne, gt, lt, ge, le     Número de sesión
    CPUTIME         eq, ne, gt, lt, ge, le     Tiempo válido en el formato
                                               hh:mm:ss.
                                               hh - horas,
                                               mm - minutos, ss - segundos
    MEMUSAGE        eq, ne, gt, lt, ge, le     Uso de memoria en KB.
    USERNAME        eq, ne                     Nombre de usuario en formato
                                               [dominio\]usuario.
    MODULES         eq, ne                     Nombre de DLL
    SERVICES        eq, ne                     Nombre de servicio.
    WINDOWTITLE     eq, ne                     Título de ventana.

  NOTA
  ----
  1) El comodín '*' para el modificador /IM se acepta solo cuando se aplica
     un filtro.
  2) Los procesos remotos se terminarán siempre forzosamente (/F).
  3) Los filtros "WINDOWTITLE" y "STATUS" no se considerarán cuando se
     especifique un equipo remoto.

Ejemplos:
    TASKKILL /IM notepad.exe
    TASKKILL /PID 1230 /PID 1241 /PID 1253
    TASKKILL /F /IM cmd.exe /T
    TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
    TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
    TASKKILL /S sistema /U dominio\usuario /FI "USERNAME ne NT*" /IM *

    TASKKILL /S sistema /U nombreusuario /P contraseña /FI "IMAGENAME eq note*"

En nuestro laboratorio escribiremos:

TASKKILL /PID 4348

Pero, todo este proceso es bastante largo y, en un entorno Microsoft Windows para cerrar un proceso activo, simplemente tenemos que abrir el Administrador de Tareas y cerrar el proceso conflictivo.

Los comandos TASKLIST  y TASKKILL también pueden ser usados de forma remota.


Pongamos un ejemplo, tenemos un equipo que ejecuta un proceso en el inicio de Windows. Dicho proceso empieza a consumir todos los recursos disponibles del sistema hasta el punto de que se hace imposible trabajar con él.

En nuestro laboratorio tenemos dos servidores Microsoft Windows 2012 R2 llamados SRVDC y SRVDC02.

SRVDC02 tiene el proceso conflictivo abierto, como en el caso anterior usaremos el bloc de notas de Windows para simular el proceso problemático.

Desde el servidor llamado SRVDC01, abriremos una nueva ventana de la consola de comandos de Microsoft Windows y escribiremos Tasklist con los modificadores que mostramos a continuación:
  • /S NOMBRE_EQUIPO_REMOTO : Para definir el equipo remoto al que queremos conectarse.
  • /U dominio\usuario : Para especificar el usuario con el que ejecutaremos TASKLIST.
  • /P contraseña : Para especificar la contraseña del usuario que hemos especificado usando el modificador /U.

TASKLIST  /s SRVDC02 /u dom\Administrador /p contrasña

La construcción del comando TASKLIST  anterior nos listará todos los procesos activos del servidor remoto SRVDC.

Seguidamente, buscaremos en la listado el ID del proceso conflictivo, en nuestro laboratorio el bloc de notas de Microsoft Windows, y ejecutaremos el comando TASKKILL con los modificadores:

  • /PID ID_DE_PROCESO : Definiremos el proceso que queremos matar.
  • /S NOMBRE_EQUIPO_REMOTO : Para definir el equipo remoto al que queremos conectarse.
  • /U dominio\usuario : Para especificar el usuario con el que ejecutaremos TASKKLILL.
  • /P contraseña : Para especificar la contraseña del usuario que hemos especificado usando el modificador /U.

2 comentarios:

  1. Unos comandos de gran utilidad. Los uso con cierta frecuencia. Buen trabajo explicativo como siempre. Saludos

    ResponderEliminar
    Respuestas
    1. Muchísimas gracias por el comentario Alex,

      Recuerda que también tenemos un canal de Youtube al que puedes suscribirte!!!!

      https://www.youtube.com/c/pantallazoses

      Eliminar