errecepe's personal website. the start point

teletrabajo

Creación de archivos .RDP automática con batch

Son días de teletrabajo, y si por ese motivo necesitásemos crear multitud de archivos de configuración para conectar vía Remote Desktop Protocol para nuestros usuarios, os voy a contar como hacerlo de una manera fácil y rápida.

Me estoy refiriendo a la creación automatizada de archivos .rdp para el cliente de Terminal Server de Microsoft:

Hasta hoy nunca me había dado por visualizar el contenido de estos archivos, y me ha sorprendido gratamente comprobar que eran simples lineas con los parámetros necesarios para la conexión.

Una vez llegados a este punto, está claro el mecanismo. Un simple script en batch nos va a resultar más que suficiente para nuestro fín.

Procedimiento práctico

En primer lugar, ejecutaremos el comando mstsc para abrir el cliente de Escritorio remoto, desplegaremos con la opción Mostrar opciones situado en la parte inferior izquierda del cliente, e indicaremos cualquier dato para Equipo y Usuario. En el ejemplo he usado las palabras EQUIPO y USUARIO:

Por supuesto, y muy importante, revisaremos el resto de pestañas de configuración: Pantalla, Recursos locales, Rendimiento y Opciones avanzadas, donde configuraremos según los datos de nuestra organización, la configuración del servidor de puerta de enlace, el rendimiento de la conexión para optimizar el ancho de banda si se prevén más accesos de lo normal, si se trasladan las impresoras del cliente, etc etc…

Ahora clickaremos sobre el botón Guardar como… para generar un archivo .rdp que usaremos como plantilla. Para ello editaremos con un editor de texto (notepad.exe nos valdría) el archivo .rdp que acabamos de generar.

Buscaremos en el, dos lineas. Una con el nombre del equipo:

full address:s:EQUIPO

Y la del usuario, que la encontrareis del siguiente modo:

username:s:USUARIO

Bien, pues una vez localizadas, las borraremos y guardaremos el archivo, al que a partir de ahora, por llamarlo de alguna manera, lo llamaremos plantilla.rdp.

Ahora, crearemos con el editor de texto, un archivo que guardaremos como crea_rdp.cmd con el siguiente contenido:

@echo off
set destino=»Conectar %1 a %2.rdp»
set fulladdress=full address:s:%2
set usernme=username:s:%1
more plantilla.rdp > %destino%
echo %fulladdress% >> %destino%
echo %usernme% >> %destino%
echo Archivo %destino% creado

Una vez llegado a este punto, con el script crea_rdp.cmd y el archivo plantilla.rdp en un mismo directorio, si ejecutamos el comando: crea_rdp pepito equipo_remoto obtendremos un nuevo archivo .rdp de nombre «Conectar pepito a equipo_remoto.rdp» con la configuración predeterminada que usamos para plantilla.rdp pero pre-configurado para conectar al equipo indicado como el usuario también indicado. De ahí a generar un segundo script con tantas lineas como archivos .rdp a generar con la configuración de equipo y usuarios deseado mediante múltiples llamadas a nuestro script crea_rdp.

Y obtendremos con estas 3 simples líneas, al ejecutar este segundo script, 3 bonitos archivos .rdp preconfigurados a nuestro gusto y listos para ser enviados a los usuarios.

Explicación del script

El script usado es muy sencillo de modificar a nuestro gusto y necesidades.

Por ejemplo, en la segunda linea, estableceremos la variable destino como el nombre de los archivos .rdp generados usando los valores de los parámetros %1 y %2, es decir USUARIO y EQUIPO para la composición del nombre del archivo resultante. Podemos usar el nombre de archivo que queramos, mientras mantenga la extensión .rdp y use los valores %1 y %2, para evitar que se generen archivos .rdp con el mismo nombre, siendo sobrescritos (el script elimina la existencia de un posible archivo .rdp existente previamente al generar el nuevo).

En la cuarta linea, en la variable usernme, almacenaremos el nombre de usuario. En algún caso, podríais necesitar establecer un dominio para las cuentas de usuario, y prestablecerlo modificando la cuarta linea indicando el dominio de la siguiente manera: set usernme=username:s:DOMINIO\%1. O incluso podríamos ir más allá y que el dominio fuese un tercer parámetro pasado al script, por si se diese el caso de que necesitásemos crear archivos .rdp masivamente para varios dominios, quedando la linea del siguiente modo: set usernme=username:s:%3\%1, suponiendo que los parámetros fuesen USUARIO EQUIPO DOMINIO, en ese orden.

Y poco más que añadir, ya que el script, como indicaba al principio, es muy sencillo.

Espero que os resulte práctico en estos días de #teletrabajo !