Programando un script con Batch para abrir varios escritorios remotos
El trabajo repetitivo me da mucho coraje.
El trabajo repetitivo no me gusta nada... lo único bueno que tiene... que se puede automatizar.
En uno de los proyectos en los que estoy actualmente, una de las tareas es mantener 9 servidores con buena salud para que trabajen dentro de una red en la que cada uno realiza varias funciones que son orquestadas para que un sistema de monitorización y aviso ambiental funcione correctamente.
Estoy pendiente de que algún administrador de la red corporativa me otorgue permisos a habilitar SSH, hasta entonces me toca acceder a los servidores vía escritorio remoto (RDP).
Es muy tedioso tener que abrir 9 instancias de RDP, cada uno con su IP, usuario y contraseña.
Me he programado un script con Batch para esta tarea.
Como se podrás imaginar ya, son servidores con Windows Server.
¿Por qué me hago este script?
Porque de esta manera evito que se me quede algún servidor de los 9 atrás y ahorro muchísimo tiempo abriendo instacias de RDP, copiando y pegando IP, usuarios y contraseñas.
Almacenando credenciales para RDP
Voy a utilizar cmdkey
para almacenar las credenciales de acceso al servidor remoto.
cmdkey
se utiliza para gestionar las credenciales que el sistema operativo puede utilizar para autenticarse automáticamente al conectar con recursos de red.
cmdkey /generic:TERMSRV/10.186.4.174 /user:usuario /pass:contraseña
Listando los servidores en un array
La siguiente línea de código tiene poco que explicar.
set servers=("10.186.4.174" "10.186.4.175")
Iterando el array de servidores
for %%S in %servers% do ( echo Conectando a %%S... start mstsc /v:%%S )
Script completo
@echo off rem Establezco credenciales cmdkey /generic:TERMSRV/10.186.4.174 /user:usuario /pass:contraseña rem hago una pausa de 1 segundo timeout /t 1 /nobreak > nul cmdkey /generic:TERMSRV/10.186.4.175 /user:usuario /pass:contraseña rem Lista de servidores set servers=("10.186.4.174" "10.186.4.175") rem Iterar sobre cada servidor y abrir una conexión RDP for %%S in %servers% do ( echo Conectando a %%S... start mstsc /v:%%S rem ahora me paro porque cuando abro varias conexiones de escritorio remoto se quedan pilladas, es posible que sea por el servidor de jumper pause ) echo hasta luego lucas
Hasta luego 🖖