Páginas

19 marzo, 2014

Cambiar una dirección IP remotamente de forma subyacente con PsExec

Ya hablara del conjunto de herramientas que componen el paquete PsTools desarrolladas por Mark Russinovich (Sysinternals), las cuales nos permiten entre otras cosas realizar administraciones a equipos remotos de una red.

En esta ocasión haré uso de una de estas herramientas. PsExec la cual nos permite ejecutar procesos de un equipo remoto. Por ejemplo; realizar comandos en una shell remota, estos comandos NO se verán remotamente, es decir, que se hace transparente al usuario final y/o remoto.

En este caso mostraré un pequeño batch processing (.bat) que con ayuda de esta herramienta nos permitirá cambiar la dirección IP remota ACTUAL por una nueva asignación de dirección IP.
Copiando este script y pegándolo en fichero de texto, renombrándolo con una extensión .bat.
@echo off
echo ++ Introduce la IP del equipo Remoto:
set /p ipremota=
echo.
echo ++ Introduce la nueva IP a establecer:
set /p ipnueva=
echo.
echo ++ Introduce la mascara correspondiente:
set /p mascara=
echo.
echo ++ Introduce la Gateway correspondiente:
set /p gateway=
echo.
echo ++ Introduce el nombre de la interfaz: Ej: Conexión de área local
set /p interfaz=
echo.
psexec \\%ipremota% -u UsuarioAdmin -p PasswordAdmin -s netsh interface ip set address name="%interfaz%" source=static %ipnueva% %mascara% %gateway% 1
exit
Simplemente creamos y establecemos las variables a tener en cuenta y que nos harán falta para el uso de psexec. Como son principalmente e importante la dirección IP ya que la Subnetmask y la Gateway es opcional, dependiendo nuestras necesidades.
En mi caso es necesario ya que necesito cambiar IPs remotas que están fuera del rango habitual de mi red actual, pero que sin embargo si forman parte de mi tabla de enrutamiento (route print).

Después hacemos uso de la herramienta PsExec de manera que hagamos referencia a la IP remota (ya introducida como una variable), así como las posteriores variables tomadas que en mi caso eran la mascara de subred y la puerta de enlace.

Los parámetros con PsExec utilizados son los siguientes:
  • \\ipremota: IP Remota o nombre del equipo (para establecer la conexión con el equipo)
  • -u: Usuario con privilegios de la máquina remota para ejecutar el comando.
  • -p: Password de dicho usuario remoto con privilegios.
  • -s: Proceso/comando a ejecutar de manera remota. En este caso, netsh y su respectiva sintaxis de uso.
  • 1: Indica la métrica, normalmente en la mayoría de casos especificamos el valor 1.
Saludos!

17 marzo, 2014

PsTools: Suite de herramientas para la gestión y administración de equipos remotos en redes locales

PsTools es una suite de herramientas útiles para los administradores de sistemas y redes. Esta compuesto por multitudes de utilidades las cuales se utilizan en forma de comandos.

El autor de todo esto, es el conocido Mark Russinovich -programador y fundador de Sysinternals, empresa que Microsoft posteriormente compró-. Esta suite data del año 2007 (lo cual aún hoy me extraña que no hubiese publicado nada en el blog sobre ellas) pero aun tuvo recientes actualizaciones para ciertas herramientas que la componen.

El punto fuerte de este pack de tools en la mayoría de ellas es que sirven para realizar tareas administrativas a equipos remotos de una red local o de dominio, de manera subyacente al usuario final.

El uso de estas herramientas es en forma de comandos mediante una shell de Windows. Así que una vez descarguemos las herramientas que necesitemos o directamente la suite completa PsTools. Simplemente nos tendríamos que colocar el prompt en el path donde esté la carpeta raíz de PsTools descargada o donde la hubiésemos ubicado después de descargar el paquete.

En mi caso agregué la ruta: "C:\Windows\PsTools" a la variable de entorno 'PATH' de Windows.
De modo que ya no tengo por que estar siempre situado en la ruta raíz donde tenga las PsTools, me bastaría con hacer uso de las herramientas desde cualquier ruta en el que esté ubicado, ya que gracias a la variable de entorno añadida, Windows sabrá encontrar el camino raíz de los ejecutables que componen PsTools.

El pack de PsTools incluye las siguientes utilidades:
  • PsExec: Permite ejecutar procesos en cualquier contexto de usuario.
  • PsFile: Muestra los archivos abiertos de forma remota en un sistema.
  • PsGetSid: Muestra el identificador de seguridad (SID) de Windows de un equipo o un usuario.
  • PsInfo: Muestra información acerca de un sistema de Windows.
  • PsKill: Elimina o finaliza los procesos por nombre o identificador PID.
  • PsList: Muestra información detallada acerca de procesos en ejecución.
  • PsLoggedOn: Muestra todos los usuarios que han iniciado la sesión de forma local, así como todos los usuarios de recursos compartidos remotos.
  • PsLogList: Vuelca los registros de eventos de Windows.
  • PsPasswd: Cambia las contraseñas de cuentas de usuario.
  • PsService: Consulta y controla los servicios de Windows.
  • PsShutdown: Apaga, reinicia o suspende un equipo, o lo coloca en modo de hibernación.
  • PsSuspend: Suspende procesos en ejecución.
Esta no es una entrada para profundizar en cada una de ellas, ni era la intención de hacerlo, si no que iré haciendo uso de ellas a medida que me vayan surgiendo la necesidad de usarlas y exponer en posteriores artículos casos más concretos.

Saludos!

Entradas Populares