Página principal » colegio » Uso de PsTools para controlar otras PC desde la línea de comandos

    Uso de PsTools para controlar otras PC desde la línea de comandos

    En la lección de hoy de nuestra serie Geek School que cubre SysInternals, le mostraremos cómo utilizar el conjunto de utilidades PsTools para realizar todo tipo de tareas de administración tanto a nivel local como en computadoras remotas..

    NAVEGACION ESCOLAR
    1. ¿Qué son las herramientas de SysInternals y cómo las usa??
    2. Entendiendo el Explorador de Procesos
    3. Uso de Process Explorer para solucionar problemas y diagnosticar
    4. Comprensión del monitor de proceso
    5. Uso de Process Monitor para solucionar problemas y encontrar trucos de registro
    6. Uso de Autoruns para lidiar con procesos de inicio y Malware
    7. Uso de BgInfo para mostrar información del sistema en el escritorio
    8. Uso de PsTools para controlar otras PC desde la línea de comandos
    9. Analizar y administrar sus archivos, carpetas y unidades
    10. Envolviendo y usando las herramientas juntas

    Si alguna vez ha querido conectarse a otra computadora y ejecutar un comando, obtener rápidamente información sobre los procesos en ejecución y, opcionalmente, eliminarlos o incluso detener un servicio en otra PC, puede usar las utilidades de PsTools para hacer todas estas cosas e incluso Más.

    Obviamente, puedes usar Escritorio remoto o un servicio similar para conectarte a cualquier computadora con Windows y ver el escritorio y hacer cualquier cosa que hagas localmente, pero las utilidades de PsTools te permiten realizar muchas tareas desde la línea de comandos, o mejor aún, desde un script que puedes reutilizar más tarde.

    Estos son el tipo de utilidades que funcionan mejor en un entorno corporativo, y dominar estas herramientas definitivamente lo hará mucho mejor en su trabajo de administración de sistemas, le ahorrará tiempo y le permitirá hacer las cosas de una manera mucho más inteligente. Hacer las cosas de manera más inteligente y rápida es una habilidad crítica para ser un gran administrador de sistemas..

    Hay doce herramientas en el conjunto PsTools, y si bien algunas de ellas son extremadamente útiles, otras han sido reemplazadas por herramientas integradas en versiones más recientes de Windows, y hay algunas otras que no son útiles para la mayoría de las personas. Revisaremos todos ellos para que comprenda cómo funcionan y por qué querrá usarlos..

    • PsExec - ejecuta procesos en una computadora remota
    • PsFile: muestra los archivos que se abren en la computadora remota a través de la red
    • PsGetSid: muestra el identificador de seguridad de una computadora o usuario
    • PsInfo - enumera información sobre un sistema
    • PsKill - mata los procesos por nombre o ID
    • PsList - lista información sobre los procesos en la línea de comando
    • PsLoggedOn: enumera las cuentas que han iniciado sesión en la máquina o se conectan de forma remota
    • PsLogList: arrastre el registro de eventos en la línea de comandos
    • PsPasswd - cambiar la contraseña para los usuarios
    • PsPing - una utilidad de ping bastante simple con algunas características adicionales
    • PsService - enumerar y hacer cambios a los servicios de Windows
    • PsShutdown: apaga, cierra sesión o suspende una computadora
    • PsSuspend: suspende y reanuda los procesos (en lugar de matarlos)

    Vale la pena señalar que puede usar una herramienta como PsExec para ejecutar todo tipo de utilidades de línea de comandos en computadoras remotas ... incluyendo herramientas realmente útiles como la herramienta de línea de comandos Autoruns y muchos más. Las posibilidades son infinitas una vez que has abrazado el poder de PsTools.

    Todas estas herramientas se pueden usar en las computadoras locales, pero en su mayoría son útiles para conectarse a computadoras remotas y ejecutar comandos en ellas.

    Conexión a computadoras remotas (Sintaxis para todas las utilidades)

    Todas las utilidades pueden ejecutarse en la computadora local o remota, por lo que todas tienen el mismo primer argumento para el nombre de la computadora si es necesario. Tenga en cuenta que podría utilizar la dirección IP si lo desea. Si omite este argumento, el comando operará en su computadora local.

    psinfo \\ nombre de computadora

    También puede enumerar varias computadoras como psinfo \\ computer1, computer2, computer3, o puede poner todos los nombres en un archivo y hacer referencia a eso como psinfo @ computerlist.txt. La sintaxis final es psinfo \\ *, que funciona en todas las computadoras del dominio, lo que probablemente no sea algo que usará todos los días..

    Si necesita conectarse con credenciales alternativas porque la cuenta de su computadora local tiene un nombre de usuario y una contraseña diferentes a las de la otra computadora, puede usar las opciones -u y -p, aunque nos damos cuenta de que es posible que no quiera usar -p La línea de comandos con una contraseña en el comando por razones de seguridad.. Actualización: a partir de la última versión de PsExec, ninguna herramienta pasa las contraseñas como texto claro, por lo que la única preocupación es si alguien puede leer sus archivos de script y ver la contraseña allí..

    psinfo \\ computername -u “usuario” -p “Contraseña”

    La parte de "usuario" del comando cambiaría a "DOMINIO \ usuario" si se encuentra en un entorno de dominio y necesita cambiar del usuario actualmente en ejecución.

    Nota: generalmente necesitará conectarse a las computadoras remotas con una cuenta de administrador.

    Configuración del acceso a la administración remota

    Si se encuentra en un entorno de dominio, como la mayoría de las personas que necesitan usar PsTools, puede ignorar esta sección por completo, ya que todo debería funcionar bien. Para cualquier persona que ejecute Windows 7, 8 o Vista en un entorno doméstico o que use un par de computadoras en una oficina sin dominio, deberá modificar el Control de cuentas de usuario en la computadora remota para permitir que PsTools se ejecute correctamente.

    El problema está bien descrito por Microsoft:

    Cuando un usuario que es miembro del grupo de administradores locales en la computadora remota de destino establece una conexión administrativa remota mediante el comando net use * \\ remotecomputer \ Share $, por ejemplo, no se conectarán como un administrador completo. El usuario no tiene potencial de elevación en la computadora remota, y el usuario no puede realizar tareas administrativas.

    Para explicarlo de una manera diferente, cuando intenta conectarse a otra computadora y ejecutar algo que requiere acceso de administrador, no hay manera de activar el aviso de UAC y aceptarlo desde su computadora, por lo que no se conectará como administrador.

    Y esto no es algo malo. No debe cambiar esta configuración sin comprender completamente que va a permitir que una apertura de malware se propague de una computadora a otra, asumiendo que el malware tiene su nombre de usuario y contraseña locales, y que la contraseña es la misma que la otra computadora, y El malware es tan complicado, que la mayoría no lo es. Pero todavía no es algo para tomarse a la ligera..

    Y nuevamente, si está en un entorno de dominio, este problema no existe y no es necesario cambiarlo. Y si solo está probando con un grupo de máquinas virtuales, no tiene mucho de qué preocuparse..

    Para ajustar UAC para permitir que se ejecute PsTools, querrá abrir el Editor del Registro y navegar a la siguiente clave:

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \
    Windows \ CurrentVersion \ Policies \ System

    Una vez que esté allí, cree un nuevo DWORD de 32 bits en el lado derecho, asígnele el nombre LocalAccountTokenFilterPolicy y el valor de 1. No tiene que reiniciar la computadora para que la configuración tenga efecto..

    Nota: solo para aclarar, esta configuración debe realizarse en la computadora remota a la que se está conectando.

    PsExec

    PsExec es probablemente la herramienta más poderosa del kit, ya que puede ejecutar cualquier comando en su símbolo del sistema local, al igual que ejecutarlo en la computadora remota. Eso incluye todo lo que se puede ejecutar en la línea de comandos: puede cambiar los valores del registro, ejecutar scripts y utilidades, o conectarse desde esa PC a otra. La salida de los comandos se mostrará en su PC local, en lugar de en el remoto.

    La sintaxis es simple:

    psexec \\ computername apptorun.exe

    Sin embargo, de manera realista, también desearía incluir el nombre de usuario y la contraseña en la línea de comandos. Por ejemplo, para conectarse a otra PC y revisar la lista de conexiones de red, usaría algo como esto:

    psexec \\ computername -u Usuario -p Contraseña ipconfig

    Ese comando produciría una salida similar a la siguiente:

    Página siguiente: Uso de PsExec para ejecutar comandos remotos