Despliegue de Rocketbot en Azure

En esta guía, te explicaremos los pasos para crear una máquina virtual (VM) en Microsoft Azure y montar Rocketbot Studio para ejecutar robots.

Arquitectura recomendada.

Crear y administrar VM de Windows Server

Creación de una máquina virtual de Windows en Azure Portal

Las máquinas virtuales de Azure pueden crearse mediante Azure Portal. Este método proporciona una interfaz de usuario basada en explorador para crear máquinas virtuales y sus recursos asociados. En esta guía de inicio rápido se muestra cómo usar Azure Portal para implementar una máquina virtual (VM) en Azure que ejecuta Windows Server 2022 Datacenter. Para ver la máquina virtual en acción, conéctese a la máquina virtual mediante RDP e instale al servidor web IIS.

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

Inicio de sesión en Azure

Inicie sesión en Azure Portal.

Crear máquina virtual

  1. Escriba máquinas virtuales en el cuadro de búsqueda.
  2. En Servicios, seleccione Máquinas virtuales.
  3. En la página Máquinas virtuales, selecciona Crear y, luego, Máquina virtual de Azure. Se abrirá la página Creación de una máquina virtual.
  4. En Detalles de instancia, escriba myVM en Nombre de máquina virtual y elija Windows Server 2022 Datacenter: Azure Edition – x64 Gen2 para la Imagen. Deje los demás valores predeterminados. Nota:Algunos usuarios ahora verán la opción de crear máquinas virtuales en varias zonas. Para más información sobre esta nueva funcionalidad, consulte Creación de máquinas virtuales en una zona de disponibilidadCaptura de pantalla que muestra que tiene la opción de crear máquinas virtuales en múltiples zonas de disponibilidad.
  5. En Cuenta de administrador, proporcione un nombre de usuario, como azureuser, y una contraseña. La contraseña debe tener al menos 12 caracteres de largo y cumplir con los requisitos de complejidad definidos.Captura de pantalla de la sección Cuenta de administrador, en la que se especifican el nombre de usuario y la contraseña del administrador.
  6. En Reglas de puerto de entrada, elija Permitir los puertos seleccionados y luego seleccione RDP (3389) y HTTP (80) en la lista desplegable.Captura de pantalla de la sección Reglas de puerto de entrada, donde se seleccionan los puertos en los que se permiten conexiones entrantes
  7. Deje los valores predeterminados restantes y luego seleccione el botón Revisar + crear en la parte inferior de la página.Captura de pantalla en que se muestra el botón Revisar + crear de la parte inferior de la página
  8. Después de que se ejecute la validación, seleccione el botón Crear en la parte inferior de la página. 
  9. Una vez finalizada la implementación, seleccione Ir al recurso.Captura de pantalla que muestra el siguiente paso para ir al recurso.

Conexión a la máquina virtual

Cree una conexión a Escritorio remoto en la máquina virtual. Estas instrucciones indican cómo conectarse a la máquina virtual desde un equipo Windows. En un equipo Mac, necesita un cliente RDP como este Cliente de Escritorio remoto de Mac App Store.

  1. En la página de información general de la máquina virtual, seleccione Conectar>RDP.Captura de pantalla de la página de información general de la máquina virtual que muestra la ubicación del botón Conectar.
  2. En la pestaña Conectar con RDP, mantén las opciones predeterminadas para conectarte por la dirección IP, a través del puerto 3389, y haga clic en Descargar archivo RDP.
  3. Abra el archivo RDP que descargó y haga clic en Conectar cuando se le solicite.
  4. En la ventana Seguridad de Windows, seleccione Más opciones y, después, Usar otra cuenta. Escribe el nombre de usuario como localhost\username, la contraseña que creó para la máquina virtual y, luego, haz clic en Aceptar.
  5. Puedes recibir una advertencia de certificado durante el proceso de inicio de sesión. Haga clic en  o en Continuar para crear la conexión.

Fuente: https://learn.microsoft.com/es-es/azure/virtual-machines/windows/quick-create-portal

Instalar Rocketbot en Windows

  1. Para instalar Rocketbot dirijase a https://rocketbot.com/es/rocketbot-studio-rpa/
  2. Elija descargar y seleccione la version de Rocketbot para Windows.
  3. Descargue y descomprima el ZIP en un carpeta dentro de la maquina donde ejecutará Rocketbot. por ejemplo: C:\\rocketbot
  4. Ingrese a la carpeta de Rocketbot y ejecute la aplicacion rocketbot.exe
  5. Se abrira el navegador por defecto en el puerto 5000 (configurable) y le pedirá una licencia.
  6. Copie el Token y complete los datos en la pagina de licencias
  7. Recibirá en su correo la licencia. Pegue el código en Rocketbot Studio y comience a programar robots.

Consideraciones y TIPs

Rocketbot Studio/Runner requiere una sesion activa y desktop activo.

Mantener interfaz al desconectarse del servidor

Para evitar estos problemas, los servidores windows cuentan con un comando llamado tscon.exe que permite tomar la sesión que tienes abierta en el servidor y moverla a la consola, de esta manera tu robot tendrá una interfaz donde trabajar luego de desconectarte del servidor.

En las pestañas Desconectarme y ejecutar una tarea o Desconectarme y ejecutar ROC de la aplicación RDP-Rocketbot puedes crear un archivo bat con el comando tscon. Este archivo debes ejecutarlo como administrador cada vez que quieras desconectarte del servidor (o ejecutar tu robot, según la opción elegida) y te desconectará del servidor y mantendrá la interfaz gráfica.

Cuidado! Al no abrir el escritorio remoto desde una pantalla física, la resolución puede cambiar y ser menor. Revisa la sección tres para ver como trabajar con esto.

El bat puedes editarlo y revisar que es lo que contiene, pero resumimos lo importante acá. El bat tiene un script de powershell que obtiene el id de la sesión que estas usando al entrar al rdp y la utiliza en el comando tscon para que este la abra en la sesión de la consola.

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "$sessionid=((quser $env:USERNAME | select -Skip 1) -split '\\s+')[2]; tscon $sessionid /dest:console" 2> UnlockErrors.log

Si necesitas que el bat ejecute tu robot al desconectarte, verás algo así

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "$sessionid=((quser $env:USERNAME | select -Skip 1) -split '\\s+')[2]; tscon $sessionid /dest:console" 2> UnlockErrors.log

timeout 10
cd c:\\rocketbot
rocketbot.exe -start=nombre_robot

Mantener la interfaz al minimizar el escritorio remoto

Para poder minimizar el escritorio remoto y no afectar el funcionamiento del robot, debes modificar algunos registros en la máquina que abre el rdp, estos registros son:

  • Para el usuario actual:

    • HKEY_CURRENT_USER\\Software\\Microsoft\\Terminal Server Client (32 bit)
    • HKEY_CURRENT_USER\\Software\\Wow6432Node\\Microsoft\\Terminal Server Client (64 bit)

  • Para todos los usuarios:

    • HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Terminal Server Client (32 bit)
    • HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Microsoft\\Terminal Server Client (64 bit)

En la pestaña Conectarme a Escritorio Remoto de la aplicación RDP-Rocketbot, puedes cambiar los registros con un solo botón. Solo recuerda ejecutar la aplicación como administrador.

Cambio de resolución al desconectarte del servidor

Si ya solucionaste los problemas anteriores, pero tu robot falla y/o aún no reconoce las imagenes, es probable que tengas un problema con la resolución. Ya mencionamos en la primera parte de este post que al desconectarte el servidor pierde la interfaz gráfica y es necesario utilizar tscon. Esto permite que el robot pueda sacar capturas, pero como el servidor ya no cuenta con tu pantalla para ajustar una resolución, toma sus propias resoluciones por defecto, que en la mayoría de los casos es de 1024×768.

Si tu robot trabaja con virtualización, este cambio de resolución puede afectarlo, por lo cual es importante que, antes de comenzar a desarrollar tu robot, revises las resoluciones que permite tu servidor al desconectarte.

En la pestaña Ver las resoluciones de pantalla de la aplicación RDP-Rocektbot, puedes ver las resoluciones que permite el servidor en la tabla Resolucoones de pantalla desde la consola de TSCON.

Esas resoluciones son las resoluciones que puedes utilizar, pero no quiere decir que puedes comenzar a construir el robot. Debes revisar la resolución que tiene el servidor al desconectarte y si es posible cambia a la resolución que necesitas. Para cambiar la resolución de pantalla, puedes utilizar el módulo Windows y también puedes utilizar el comando Sacar captura de pantalla de la sección Desktop para válidar si la resolución es la correcta o no.

Ésto lo puedes realizar con RDP-Helper, acá encontrarás los pasos necesarios 👉 Pasos Resolución

Si al salir de un escritorio remoto no es posible modificar la resolución de forma manual y/o usando el módulo de Rocketbot, puedes modificar realizar la siguiente modificación:

Buscar en el regedit todos los registros que se llamen DefaultSettings_XResolution y DefaultSettings_YResolution y cambiar la resolución a la que necesitas

Prevenir el bloqueo de pantalla

Para evitar que el servidor bloquee la pantalla debes, en primer lugar, consultar con el equipo de TI si es posible modificar las configuraciones necesarias para que esto no ocurra, ya que dependiendo de las politicas de seguridad de la empresa, podría no ser posible modificar esta configuración.

En la sección Configuraciones de la aplicación RDP-Rocketbot, puedes modificar los registros necesarios para deshabilitar el bloqueo de pantalla. El registro que se modificará es HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows

Cambiando Policies Link

For Windows 7/Windows 10/Windows Server 2012 and above:

  • Press + and type gpedit.mscWindows+R
  • Navigate the tree view on the left to Computer Configuration/Administrative Templates/Windows Components/Remote Desktop Services/Remote Desktop Session Host/Session Time Limits
  • Adjust the four settings as desired (I believe you want to adjust Set time limit for disconnected sessions and Terminate session when time limits are reached)

Habilitar Pantallas Virtuales

En algunos casos, la VM solo permitía una resolución muy baja por defecto. Siguiendo la documentación indicada y asegurándonos de apagar la VM antes de activar la casilla de configuración, logramos establecer una resolución adecuada para el proceso requerido.

Conectar con Orquestador

Para conectar con el Orquestador de Rocketbot debe contar con una cuenta habilitada de Rocketbot Orchestrator Center. En la VM de AWS tiene que tener habilitado el acceso a las web *.myrb.io y *.rocketbot.com esto permitirá al cliente de orquestador NOC conectarse con las url de api de orquestador.

Permisos de red y dominios

Para la conexión con Orquestador debe estar habilitado el acceso a:

  • *.myrb.io
  • Puerto: 443 (HTTPS)

El puerto 443 debe estar libre y permitido para conexiones salientes sin inspección profunda (SSL inspection).

Conectividad y rendimiento

Para evitar timeouts y desconexiones durante ejecuciones o conexiones con Orquestador, se requieren:

  • Tiempo de respuesta máximo recomendado (timeout): ≤ 30 segundos
  • Ancho de banda mínimo recomendado: 200–250 Mbps

Habilitar URL

INSTALACIÓN Y CONFIGURACIÓN CLIENTE ORQUESTADOR

Para conectar una instacia siga la siguiente GUIA: https://docs.rocketbot.com/2024/08/23/orquestador-rocketbot-instancias/#Conectar_instancia_al_cliente




Despliegue de Rocketbot en AWS

En esta guía, te explicaremos los pasos para crear una máquina virtual (VM) en AWS Cloud (AWS) y montar Rocketbot Studio para ejecutar robots.

Arquitectura recomendada.

Crear y administrar VM de Windows Server

Antes de comenzar revise los requerimientos minimos aqui: https://docs.rocketbot.com/2024/05/15/requerimientos-de-hardware-y-software/

Crear VM de Windows Server

Para crear una instancia de Windows vamos Instancias —- Launch Instance.

Comenzará el asistente pidiendo que escojamos el AMI, donde en la barra de búsqueda escribiremos Windows para que nos filtre la búsqueda.

Nos hará la búsqueda y seleccionamos la imagen de Windows que necesitamos o queremos.

Recomendada Windows Server 2016 o Superior

Si se quiere usar la capa gratuita, seleccionamos el tipo de Instancia gratuita, t2.micro.

A partir de aquí dejare toda la configuración por defecto, ya que el propósito de este laboratorio es poder crear y conectarme a una instancia de Windows.

En tamaño de disco lo dejamos en 30 GB y siguiente.

Revisión de la configuración y launch para lanzar la creación de la instancia.

Antes de Lanzar la creación de la instancia, no pedirá seleccionar una key pair existente o crear una nueva. Como previamente he creado una nueva, la selecciono y lanzo la instancia.

Comenzará la creación.

Si vamos al consola veremos como se va inicializando la instancia.

Conectar con la instancia creada

Desplegada la instancia, si intentamos conectarnos a la instancia desde la consola

Nos avisará que tenemos que esperar al menos 4 minutos desde el despliegue de la instancia.

Una vez pasado el tiempo intentamos de nuevo conectarnos y nos aparecerá la ventana de conectar a la instancia, donde haremos clic en el botón Download Remote Desktop File.

Nos descargará el acceso RDP a la instancia.

Obtener credenciales

Si hacemos clic en el botón Get Password

Nos dirá de seleccionar la key pair con la que hemos configurado al crear la instancia, la seleccionamos y hacemos clic en Decrypt Password.

ec2-windows-instancia-004

Nos generará el password del usuario Administrator de la Instancia y lo copiaremos en el portapapeles.

ec2-windows-instancia-005.png

Copiamos el password y nos conectamos a la instancia desde el acceso RDP descargado, introducimos el password y ya podremos conectarnos a la instancia. Una vez conectados, lo primero que tendremos que hacer es cambiar el password.

acceso rdp ec2 windows

Como ultimo apunte, también podemos coger el password de Windows desde Actions — Get Windows Password.

Fuente: https://docs.aws.amazon.com/es_es/AWSEC2/latest/WindowsGuide/ec2-windows-instances.html

Instalar Rocketbot en Windows

  1. Para instalar Rocketbot dirijase a https://rocketbot.com/es/rocketbot-studio-rpa/
  2. Elija descargar y seleccione la version de Rocketbot para Windows.
  3. Descargue y descomprima el ZIP en un carpeta dentro de la maquina donde ejecutará Rocketbot. por ejemplo: C:\\rocketbot
  4. Ingrese a la carpeta de Rocketbot y ejecute la aplicacion rocketbot.exe
  5. Se abrira el navegador por defecto en el puerto 5000 (configurable) y le pedirá una licencia.
  6. Copie el Token y complete los datos en la pagina de licencias
  7. Recibirá en su correo la licencia. Pegue el código en Rocketbot Studio y comience a programar robots.

Consideraciones y TIPs

Rocketbot Studio/Runner requiere una sesion activa y desktop activo.

Mantener interfaz al desconectarse del servidor

Para evitar estos problemas, los servidores windows cuentan con un comando llamado tscon.exe que permite tomar la sesión que tienes abierta en el servidor y moverla a la consola, de esta manera tu robot tendrá una interfaz donde trabajar luego de desconectarte del servidor.

En las pestañas Desconectarme y ejecutar una tarea o Desconectarme y ejecutar ROC de la aplicación RDP-Rocketbot puedes crear un archivo bat con el comando tscon. Este archivo debes ejecutarlo como administrador cada vez que quieras desconectarte del servidor (o ejecutar tu robot, según la opción elegida) y te desconectará del servidor y mantendrá la interfaz gráfica.

Cuidado! Al no abrir el escritorio remoto desde una pantalla física, la resolución puede cambiar y ser menor. Revisa la sección tres para ver como trabajar con esto.

El bat puedes editarlo y revisar que es lo que contiene, pero resumimos lo importante acá. El bat tiene un script de powershell que obtiene el id de la sesión que estas usando al entrar al rdp y la utiliza en el comando tscon para que este la abra en la sesión de la consola.

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "$sessionid=((quser $env:USERNAME | select -Skip 1) -split '\\s+')[2]; tscon $sessionid /dest:console" 2> UnlockErrors.log

Si necesitas que el bat ejecute tu robot al desconectarte, verás algo así

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "$sessionid=((quser $env:USERNAME | select -Skip 1) -split '\\s+')[2]; tscon $sessionid /dest:console" 2> UnlockErrors.log

timeout 10
cd c:\\rocketbot
rocketbot.exe -start=nombre_robot

Mantener la interfaz al minimizar el escritorio remoto

Para poder minimizar el escritorio remoto y no afectar el funcionamiento del robot, debes modificar algunos registros en la máquina que abre el rdp, estos registros son:

  • Para el usuario actual:

    • HKEY_CURRENT_USER\\Software\\Microsoft\\Terminal Server Client (32 bit)
    • HKEY_CURRENT_USER\\Software\\Wow6432Node\\Microsoft\\Terminal Server Client (64 bit)

  • Para todos los usuarios:

    • HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Terminal Server Client (32 bit)
    • HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Microsoft\\Terminal Server Client (64 bit)

En la pestaña Conectarme a Escritorio Remoto de la aplicación RDP-Rocketbot, puedes cambiar los registros con un solo botón. Solo recuerda ejecutar la aplicación como administrador.

Cambio de resolución al desconectarte del servidor

Si ya solucionaste los problemas anteriores, pero tu robot falla y/o aún no reconoce las imagenes, es probable que tengas un problema con la resolución. Ya mencionamos en la primera parte de este post que al desconectarte el servidor pierde la interfaz gráfica y es necesario utilizar tscon. Esto permite que el robot pueda sacar capturas, pero como el servidor ya no cuenta con tu pantalla para ajustar una resolución, toma sus propias resoluciones por defecto, que en la mayoría de los casos es de 1024×768.

Si tu robot trabaja con virtualización, este cambio de resolución puede afectarlo, por lo cual es importante que, antes de comenzar a desarrollar tu robot, revises las resoluciones que permite tu servidor al desconectarte.

En la pestaña Ver las resoluciones de pantalla de la aplicación RDP-Rocektbot, puedes ver las resoluciones que permite el servidor en la tabla Resolucoones de pantalla desde la consola de TSCON.

Esas resoluciones son las resoluciones que puedes utilizar, pero no quiere decir que puedes comenzar a construir el robot. Debes revisar la resolución que tiene el servidor al desconectarte y si es posible cambia a la resolución que necesitas. Para cambiar la resolución de pantalla, puedes utilizar el módulo Windows y también puedes utilizar el comando Sacar captura de pantalla de la sección Desktop para válidar si la resolución es la correcta o no.

Ésto lo puedes realizar con RDP-Helper, acá encontrarás los pasos necesarios 👉 Pasos Resolución

Si al salir de un escritorio remoto no es posible modificar la resolución de forma manual y/o usando el módulo de Rocketbot, puedes modificar realizar la siguiente modificación:

Buscar en el regedit todos los registros que se llamen DefaultSettings_XResolution y DefaultSettings_YResolution y cambiar la resolución a la que necesitas

Prevenir el bloqueo de pantalla

Para evitar que el servidor bloquee la pantalla debes, en primer lugar, consultar con el equipo de TI si es posible modificar las configuraciones necesarias para que esto no ocurra, ya que dependiendo de las politicas de seguridad de la empresa, podría no ser posible modificar esta configuración.

En la sección Configuraciones de la aplicación RDP-Rocketbot, puedes modificar los registros necesarios para deshabilitar el bloqueo de pantalla. El registro que se modificará es HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows

Cambiando Policies Link

For Windows 7/Windows 10/Windows Server 2012 and above:

  • Press + and type gpedit.mscWindows+R
  • Navigate the tree view on the left to Computer Configuration/Administrative Templates/Windows Components/Remote Desktop Services/Remote Desktop Session Host/Session Time Limits
  • Adjust the four settings as desired (I believe you want to adjust Set time limit for disconnected sessions and Terminate session when time limits are reached)

Habilitar Pantallas Virtuales

En algunos casos, la VM solo permitía una resolución muy baja por defecto. Siguiendo la documentación indicada y asegurándonos de apagar la VM antes de activar la casilla de configuración, logramos establecer una resolución adecuada para el proceso requerido.

Conectar con Orquestador

Para conectar con el Orquestador de Rocketbot debe contar con una cuenta habilitada de Rocketbot Orchestrator Center. En la VM de AWS tiene que tener habilitado el acceso a las web *.myrb.io y *.rocketbot.com esto permitirá al cliente de orquestador NOC conectarse con las url de api de orquestador.

Permisos de red y dominios

Para la conexión con Orquestador debe estar habilitado el acceso a:

  • *.myrb.io
  • Puerto: 443 (HTTPS)

El puerto 443 debe estar libre y permitido para conexiones salientes sin inspección profunda (SSL inspection).

Conectividad y rendimiento

Para evitar timeouts y desconexiones durante ejecuciones o conexiones con Orquestador, se requieren:

  • Tiempo de respuesta máximo recomendado (timeout): ≤ 30 segundos
  • Ancho de banda mínimo recomendado: 200–250 Mbps

Habilitar URL

INSTALACIÓN Y CONFIGURACIÓN CLIENTE ORQUESTADOR

Para conectar una instacia siga la siguiente GUIA: https://docs.rocketbot.com/2024/08/23/orquestador-rocketbot-instancias/#Conectar_instancia_al_cliente




Requerimientos de Hardware y Software

Los requerimientos siempre dependeran del proceso y de la cantidad de robots/runner en paralelos siendo el minimo 4GB memoria, IntelCore i3 y 10Gb extras.

Hardware:

Equipo / Instancia de Escritorio desarrollo

Mínimo Recomendado
Procesador
Intel Core i3-4340 or AMD FX-6300
Almacenamiento
10GB
Memoria
4GB RAM
Procesador
Intel Core i5
Almacenamiento
175GB
Memoria
8GB RAM

Equipo / Instancia de Escritorio producción

Para licencia tipo “S” Para licencia tipo “M” Para licencia tipo “L”
Memoria RAM: 8gb Memoria RAM: 16gb Memoria RAM: 32gb
Almacenamiento: 175GB Almacenamiento: 175GB Almacenamiento: 200gb
Procesador: Intel Core i5 o Superior Procesador: Intel Core i5 o Superior Procesador: Intel Core i7 o Superior

Equipo / Instancia VM de producción

Para licencia tipo “S” Para licencia tipo “M” Para licencia tipo “L”
Memoria RAM: 8gb Memoria RAM: 16gb Memoria RAM: 32gb
Almacenamiento: 100GB Almacenamiento: 100GB Almacenamiento: 100gb
vCPUs 2 vCPUs 4 vCPUs 8
* Seleccionar 1

Software recomendado

OS:

MS Windows Linux MacOsX
Windows 11 o Superior
Windows Server 2016 o Superior
Ubuntu 22.04
RHEL
Sonoma

Navegadores web

  • Google Chrome
  • Mozilla Firefox
  • Microsoft Edge

Permisos de red y dominios

Para la conexión con Orquestador debe estar habilitado el acceso a:

  • *.myrb.io
  • Puerto: 443 (HTTPS)

El puerto 443 debe estar libre y permitido para conexiones salientes sin inspección profunda (SSL inspection).

Conectividad y rendimiento

Para evitar timeouts y desconexiones durante ejecuciones o conexiones con Orquestador, se requieren:

  • Tiempo de respuesta máximo recomendado (timeout): ≤ 30 segundos
  • Ancho de banda mínimo recomendado: 200–250 Mbps

Habilitar URL




Despliegue de Rocketbot en GCP

En esta guía, te explicaremos los pasos para crear una máquina virtual (VM) en Google Cloud Platform (GCP) y montar Rocketbot Studio para ejecutar robots.

Arquitectura recomendada.

Crear y administrar VM de Windows Server

Compute Engine proporciona imágenes públicas con Windows Server que puedes usar para crear instancias.

Antes de comenzar

  1. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

Nota: Si no planeas conservar los recursos que creaste durante este procedimiento, crea un proyecto en lugar de seleccionar uno existente. Cuando termines, puedes borrar el proyecto y quitar todos los recursos asociados con él.

Ir al selector de proyectos

  1. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
  2. Habilita la API de Compute Engine. Habilitar la API de Compute Engine
  3. Si no usas Windows en tu máquina local, instala un cliente de RDP, como el Escritorio remoto de Chrome.

Crea una instancia de VM de Windows Server

En la consola de Google Cloud, ve a la página Crear una instancia.

Ir a Crear una instancia

En la sección Disco de arranque, haz clic en Cambiar para comenzar a configurar el disco de arranque.

En la pestaña Public images, selecciona Windows Server en la lista Sistema operativo.

Elige Windows Server 2019 Datacenter en la lista Versión.

Haz clic en Seleccionar.

En la sección Firewall, selecciona Permitir tráfico HTTP.

Para crear la VM, haz clic en Crear.

Espera un momento hasta que se inicie la instancia de VM. Una vez que la instancia esté lista, se mostrará en la página Instancias de VM con un ícono de estado verde.

Conéctate a las VM de Windows mediante RDP

WINDOWS


En este documento, se describe cómo conectarse a instancias de máquina virtual (VM) de Windows mediante RDP. Para conocer otras formas de conectarse a las VM de Windows, consulta Conéctate a las VM de Windows mediante PowerShell y Conéctate a las VM de Windows mediante SSH.

Antes de comenzar

Conéctate a VM de Windows mediante RDP

Compute Engine admite varias formas de conectarte a tus instancias de Windows.

La mejor manera de conectarse al escritorio remoto de una instancia de Windows depende de varios factores:

  • Si te conectas desde cualquier lugar de la Internet pública (Conectar desde > Cualquier de la ilustración anterior), es mejor habilitar la redirección de TCP de Identity-Aware Proxy para tu proyecto. Luego, usa IAP Desktop (en Windows) o la CLI de Google Cloud junto con un cliente RDP. Si deseas obtener más información, consulta Clientes de escritorio remoto de Microsoft para conectarte a la instancia de Windows. Si no puedes usar el reenvío de TCP de Identity-Aware Proxy, usa el Escritorio remoto de Chrome.
  • Si la instancia de VM tiene una dirección IP pública y las reglas de firewall permiten el acceso de RDP, usa un cliente de RDP. Si deseas obtener más información, consulta Clientes de escritorio remoto de Microsoft para conectarte a la instancia de Windows.
  • Si la instancia de VM no tiene una IP pública y te conectas mediante el siguiente comando:Cloud VPN o Cloud Interconnect, puedes conectarte a la dirección IP privada de la VM mediante un cliente RDP. Para obtener más información, consulta Clientes de escritorio remoto de Microsoft.

Si tienes dificultades para conectarte mediante RDP, consulta Solución de problemas de RDP. Si no puedes conectarte a una instancia de Windows mediante el escritorio remoto, consulta Conéctate a la SAC de Windows en este documento.

Para conectarte al escritorio remoto de una instancia de Windows, usa uno de los siguientes procedimientos.

Puedes usar la app de Conexión a Escritorio remoto de Microsoft que forma parte de Windows para conectarte a instancias de Windows.

Antes de conectarte mediante la app de Conexión a Escritorio remoto de Microsoft, asegúrate de que se cumpla uno de los siguientes requisitos previos:

  • Tu instancia de VM tiene una dirección IP pública, y tus reglas de firewall permiten el tráfico de entrada de TCP desde la dirección IP pública de tu cliente hacia la instancia mediante el puerto 3389.
  • Tu red local está conectada a tu VPC mediante Cloud VPN o Cloud Interconnect, y las reglas de firewall permiten el tráfico de entrada de TCP de la dirección IP privada de tu cliente a la instancia mediante el puerto 3389.

Para conectarte con el Escritorio remoto de Microsoft Windows, sigue estos pasos:

  1. Crea una cuenta de Windows y una contraseña, si aún no tienes una.

  2. Para conectarte mediante Internet, usa la dirección IP externa. Para conectarte mediante Cloud VPN o Cloud Interconnect, usa la dirección IP interna.

    Para identificar las direcciones IP internas y externas de tu instancia de Windows, completa uno de los siguientes pasos:

    • En la consola de Google Cloud, ve a la página Instancias de VM.

      Ir a la página Instancias de VM

    • Con la CLI de gcloud, ejecuta gcloud compute instances list:

      gcloud compute instances list
      

  3. Abre la Conexión a Escritorio remoto de Microsoft Windows en tu máquina con Windows. Puedes encontrar el archivo ejecutable en %systemroot%\\system32\\mstsc.exe

  4. En el cuadro Computer, ingresa la dirección IP.

    Si configuraste la instancia con el fin de que use un número de puerto diferente para RDP, agrega ese número después de la dirección IP, por ejemplo: 1.2.3.4:3389.

  5. Haz clic en Conectar (Connect).

  6. Ingresa tu nombre de usuario y contraseña, y haz clic en Aceptar.

    Si olvidaste la contraseña, puedes restablecerla.

Fuente: https://cloud.google.com/compute/docs/instances/connecting-to-windows?hl=es-419#remote-desktop-connection-app

Instalar Rocketbot en Windows

  1. Para instalar Rocketbot dirijase a https://rocketbot.com/es/rocketbot-studio-rpa/

  2. Elija descargar y seleccione la version de Rocketbot para Windows.

  3. Descargue y descomprima el ZIP en un carpeta dentro de la maquina donde ejecutará Rocketbot. por ejemplo: C:\\rocketbot

  4. Ingrese a la carpeta de Rocketbot y ejecute la aplicacion rocketbot.exe

  5. Se abrira el navegador por defecto en el puerto 5000 (configurable) y le pedirá una licencia.

  6. Copie el Token y complete los datos en la pagina de licencias

  7. Recibirá en su correo la licencia. Pegue el código en Rocketbot Studio y comience a programar robots.

Consideraciones y TIPs

Rocketbot Studio/Runner requiere una sesion activa y desktop activo.

Mantener interfaz al desconectarse del servidor

Para evitar estos problemas, los servidores windows cuentan con un comando llamado tscon.exe que permite tomar la sesión que tienes abierta en el servidor y moverla a la consola, de esta manera tu robot tendrá una interfaz donde trabajar luego de desconectarte del servidor.

En las pestañas Desconectarme y ejecutar una tarea o Desconectarme y ejecutar ROC de la aplicación RDP-Rocketbot puedes crear un archivo bat con el comando tscon. Este archivo debes ejecutarlo como administrador cada vez que quieras desconectarte del servidor (o ejecutar tu robot, según la opción elegida) y te desconectará del servidor y mantendrá la interfaz gráfica.

Cuidado! Al no abrir el escritorio remoto desde una pantalla física, la resolución puede cambiar y ser menor. Revisa la sección tres para ver como trabajar con esto.

El bat puedes editarlo y revisar que es lo que contiene, pero resumimos lo importante acá. El bat tiene un script de powershell que obtiene el id de la sesión que estas usando al entrar al rdp y la utiliza en el comando tscon para que este la abra en la sesión de la consola.

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "$sessionid=((quser $env:USERNAME | select -Skip 1) -split '\\s+')[2]; tscon $sessionid /dest:console" 2> UnlockErrors.log

Si necesitas que el bat ejecute tu robot al desconectarte, verás algo así

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "$sessionid=((quser $env:USERNAME | select -Skip 1) -split '\\s+')[2]; tscon $sessionid /dest:console" 2> UnlockErrors.log

timeout 10
cd c:\\rocketbot
rocketbot.exe -start=nombre_robot

Mantener la interfaz al minimizar el escritorio remoto

Para poder minimizar el escritorio remoto y no afectar el funcionamiento del robot, debes modificar algunos registros en la máquina que abre el rdp, estos registros son:

  • Para el usuario actual:

    • HKEY_CURRENT_USER\\Software\\Microsoft\\Terminal Server Client (32 bit)
    • HKEY_CURRENT_USER\\Software\\Wow6432Node\\Microsoft\\Terminal Server Client (64 bit)

  • Para todos los usuarios:

    • HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Terminal Server Client (32 bit)
    • HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Microsoft\\Terminal Server Client (64 bit)

En la pestaña Conectarme a Escritorio Remoto de la aplicación RDP-Rocketbot, puedes cambiar los registros con un solo botón. Solo recuerda ejecutar la aplicación como administrador.

Cambio de resolución al desconectarte del servidor

Si ya solucionaste los problemas anteriores, pero tu robot falla y/o aún no reconoce las imagenes, es probable que tengas un problema con la resolución. Ya mencionamos en la primera parte de este post que al desconectarte el servidor pierde la interfaz gráfica y es necesario utilizar tscon. Esto permite que el robot pueda sacar capturas, pero como el servidor ya no cuenta con tu pantalla para ajustar una resolución, toma sus propias resoluciones por defecto, que en la mayoría de los casos es de 1024×768.

Si tu robot trabaja con virtualización, este cambio de resolución puede afectarlo, por lo cual es importante que, antes de comenzar a desarrollar tu robot, revises las resoluciones que permite tu servidor al desconectarte.

En la pestaña Ver las resoluciones de pantalla de la aplicación RDP-Rocektbot, puedes ver las resoluciones que permite el servidor en la tabla Resolucoones de pantalla desde la consola de TSCON.

Esas resoluciones son las resoluciones que puedes utilizar, pero no quiere decir que puedes comenzar a construir el robot. Debes revisar la resolución que tiene el servidor al desconectarte y si es posible cambia a la resolución que necesitas. Para cambiar la resolución de pantalla, puedes utilizar el módulo Windows y también puedes utilizar el comando Sacar captura de pantalla de la sección Desktop para válidar si la resolución es la correcta o no.

Ésto lo puedes realizar con RDP-Helper, acá encontrarás los pasos necesarios 👉 Pasos Resolución

Si al salir de un escritorio remoto no es posible modificar la resolución de forma manual y/o usando el módulo de Rocketbot, puedes modificar realizar la siguiente modificación:

Buscar en el regedit todos los registros que se llamen DefaultSettings_XResolution y DefaultSettings_YResolution y cambiar la resolución a la que necesitas

Prevenir el bloqueo de pantalla

Para evitar que el servidor bloquee la pantalla debes, en primer lugar, consultar con el equipo de TI si es posible modificar las configuraciones necesarias para que esto no ocurra, ya que dependiendo de las politicas de seguridad de la empresa, podría no ser posible modificar esta configuración.

En la sección Configuraciones de la aplicación RDP-Rocketbot, puedes modificar los registros necesarios para deshabilitar el bloqueo de pantalla. El registro que se modificará es HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows

Cambiando Policies Link

For Windows 7/Windows 10/Windows Server 2012 and above:

  • Press + and type gpedit.msc

    Windows+R

  • Navigate the tree view on the left to Computer Configuration/Administrative Templates/Windows Components/Remote Desktop Services/Remote Desktop Session Host/Session Time Limits

  • Adjust the four settings as desired (I believe you want to adjust Set time limit for disconnected sessions and Terminate session when time limits are reached)

Habilitar Pantallas Virtuales

💡 Si experimentas problemas con la resolución de la VM, consulta la siguiente documentación al respecto.

En algunos casos, la VM solo permitía una resolución muy baja por defecto. Siguiendo la documentación indicada y asegurándonos de apagar la VM antes de activar la casilla de configuración, logramos establecer una resolución adecuada para el proceso requerido.

Conectar con Orquestador

Para conectar con el Orquestador de Rocketbot debe contar con una cuenta habilitada de Rocketbot Orchestrator Center. En la VM de GCP tiene que tener habilitado el acceso a las web *.myrb.io y *.rocketbot.com esto permitirá al cliente de orquestador NOC conectarse con las url de api de orquestador.

INSTALACIÓN Y CONFIGURACIÓN CLIENTE ORQUESTADOR

  1. Descargar cliente desde el orquestador: Haga click en el boton del menu superior del orquestod “ROC Client” para descargar el ZIP con el cliente.
  2. Descomprima noc.zip en una carpeta donde tenga permisos de escritura, no se recomienda que sea en la carpeta personal o desktop. Recomendacion : C:\\rocketbot\\noc
  3. Configurar archivo noc.ini con:
    a. Credenciales de usuario con un ROL con permisos limitados

    b. Key de instancia: Ingrese al proceso dentro del proyecto, una vez adicionado una instancia le mostrará una Key

    c. Url de orquestador, ej: https://roc.myrb.io/s4 (sin / final) d. Ruta de instalación de Rocketbot, incluyendo ejecutable. por ejemplo c:\\rocketbot
  4. Ejecute noc.exe y el cliente de orquestador mostrara que la instancia está conectada.



RPA on Virtual Server

Depending on the process you wish to automate and how you intend to run the robots, your server will need to meet specific requirements for the robot to operate well.

Processes can be divided into two types: those that require a graphical interface (robots that take screenshots or use the keyboard and mouse) and those that do not (robots that emulate a terminal, automate xlsx files, use an API, etc.). It is critical to consider this when developing a robot because most servers lose the graphical interface when disconnected, causing robots to fail.

Screen locking and minimizing the remote desktop can also have an impact on your robot’s performance. The operating system should never lock the screen on a machine running an automated process (RPA), as the robot will be unable to take screenshots or move the mouse to the indicated places. When you minimize the rdp, Windows may pause some processes or remove the interface, so you must configure your machine to prevent this from happening.

In Rocketbot, we have developed an application that allows you to easily configure your server, creating the necessary.bat files to run your robot and/or modifying the registers to prevent screen problems. You can download this application here: RDP-Rocketbot. Remember to save it to the server and/or machine as needed.

Maintain interface when server disconnects.

To avoid these issues, Windows servers have a command called tscon.exe that allows you to take an open session on the server and move it to the console, giving your robot an interface to work with after disconnecting from the server.

The tscon command can be used to create a bat file in the RDP-Rocketbot application’s Disconnect and run a task or Disconnect and run ROC tabs. This file must be run as administrator each time you want to disconnect from the server (or run your robot, depending on the option selected), and it will disconnect you from the server while maintaining the graphical interface.

Beware! If the remote desktop is not opened from a physical screen, the resolution may change and become lower. Refer to section three for alternatives.

You can edit the bat and examine its contents, but we have summarized the crucial information here. The bat contains a powershell script that retrieves the session id of the session you are using when logging into the rdp and uses it in the tscon command to open the console session.

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "$sessionid=((quser $env:USERNAME | select -Skip 1) -split '\s+')[2]; tscon $sessionid /dest:console" 2> UnlockErrors.log

If you need the bat to run your robot after disconnecting, you will see something like this:

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "$sessionid=((quser $env:USERNAME | select -Skip 1) -split '\s+')[2]; tscon $sessionid /dest:console" 2> UnlockErrors.log

timeout 10
cd c:\rocketbot
rocketbot.exe -start=nombre_robot

Maintain interface when minimizing remote desktop

To minimize the remote desktop without interfering with the robot’s operation, modify the following registers in the machine that opens the rdp:

  • For the current user:
    • HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client (32 bit)
    • HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\Terminal Server Client (64 bit)
  • For all users:
    • HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client (32 bit)
    • HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Terminal Server Client (64 bit)

You can change the logs with a single click in the RDP-Rocketbot application’s Connect to Remote Desktop tab. Just keep in mind that you must run the application as an administrator.

Change in resolution after disconnecting from the server

If you have already resolved the previous issues, but your robot still fails and/or does not recognize the images, you most likely have a resolution issue. We already mentioned in the first section of this post that when you disconnect the server, the graphical interface is lost and you must use tscon. This enables the robot to take screenshots, but because the server no longer has access to your screen to set a resolution, it uses its own default resolution, which is 1024×768 in most cases.

If your robot uses virtualization, this resolution change may have an impact, so it is critical that you check the resolutions that your server allows when you disconnect before beginning to develop your robot.

The resolutions allowed by the server in the Screen resolutions table from the TSCON console can be seen in the View screen resolutions tab of the RDP-Rocketbot application.

Those are the resolutions you can use, but that does not mean you can begin building the robot. When you disconnect, you should check the resolution of the server and, if possible, change it to the resolution you require. You can use the Windows module to change the screen resolution, and you can also use the Take screenshot command in the Desktop section to see if the resolution is correct.

A sample robot can be downloaded here 👇

If when exiting the remote desktop it is not possible to change the resolution manually and/or using the Rocketbot module, you can try the following:

Change the resolution in regedit by searching for all registries named DefaultSettings XResolution and DefaultSettings YResolution.

Prevent screen lock

To prevent the server from blocking the screen, you should first consult with the IT team to see if it is possible to modify the necessary settings to prevent this from happening, as this may not be possible depending on the company’s security policies.

In the Settings section of the RDP-Rocketbot application, you can modify the registers needed to disable the screen lock. The registry to be modified is HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows

Changing Policies Link