No me gusta andar haciendo propaganda a software no libre, pero esta herramienta es de mucha utilidad para administrar equipos de una LAN, sobre todo para automatizar algunas tareas en una gran cantidad de equipos. Sé que el título debe estar despertando indignación en mucha gente :), la funcionalidad de PsExec no le llega ni a los talones a SSH; y CMD no es DOS(pero se acerca bastante:).

PsExec es una herramienta de las PsTools de SysInternals, desde hace algunos años propiedad de Microsoft. Es una sustitución ligera de Telnet que permite ejecutar procesos en otros equipos(Windows), junto con una interactividad completa para aplicaciones de consola sin tener que instalar manualmente software servidor. Entre los usos más eficaces de PsExec se incluyen el inicio de consolas interactivas en sistemas remotos y la habilitación remota de herramientas como IpConfig que, de otro modo, no tienen la capacidad de mostrar información sobre sistemas remotos.

Nota: algunos antivirus notifican que alguna o todas las herramientas están infectadas con un virus de “administración remota”. Ninguna de las herramientas de PsTools contiene virus, pero éstos las han usado en ocasiones, lo que activa dichas notificaciones.

Para instalarlo en un equipo debemos copiar el ejecutable PsExec.exe en la ruta C:\Windows\system32, al tener el programa en esta ruta estaremos en condiciones de conectarnos a la consola de otro equipo. Algunos requisitos:

  • El equipo remoto debe tener NT, XP, 2003, Vista, 2008 o W7.
  • Se debe tener usuario y contraseña válidos en el equipo remoto.
  • El equipo remoto debe tener habilitados los recursos IPC$ y ADMIN$.
  • El equipo remoto debe tener iniciados los servicios NetLogon(Inicio de sesión secundario) y Server(Servidor).
  • Debemos poder escalar privilegios en la consola local.

Escalar privilegios en la consola local:
runas /profile /user:nombre_equipo\administrador cmd
Con este comando obtenemos una consola del usuario administrador. Otra forma de hacerlo es ir a Inicio -> Programas -> Accesorios -> Símbolo del sistema => botón derecho -> Ejecutar como… y elegir el usuario Administrador.

Conectarse con una consola remota:
Desde la ubicación C:\Windows\system32 en la consola de windows con el perfil de administrador, ejecutamos:
psexec \\ip_eq-remoto -u administrador cmd
Con este comando iniciaremos una consola logueada en el equipo remoto, esto funciona de manera similar a ssh.
Para ejecutar un script local en el equipo remoto utilizaremos el comando:
psexec \\ip_eq-remoto -u administrador -c -f gw.bat
El script del ejemplo se encuentra en system32 del equipo local y en este caso cambia la puerta de enlace del equipo remoto, el código del script:

netsh interface ip delete address “Conexión de área local” gateway=all
netsh interface ip add address “Conexión de área local” gateway=192.168.1.200 gwmetric=auto

 
Hasta ahora ejecutamos los procesos remotos visibles solo del lado del cliente, si quisieramos ejecutar un programa visible o interactivo para el host debemos utilizar la opcion -i:

psexec \\ip_eq-remoto -u administrador -i -c notepad.exe

Con este comando ejecutamos de manera interactiva el programa visible para el host, la opcion -c sirve para copiar el programa si este no existe en el host. Esta opción de ejecucion interactiva(-i) es muy util para instalar actualizaciones que requieren intervencion del usuario.

Descargar PsTools


Pueden encontrar información adicional en technet.microsoft.com/es-es/sysinternals/bb897553
 

Deja un comentario

Desarrollado por AnimacionyWeb     Stats