En esta tercera nota y continuando con el tema que venimos desarrollando en esta demostración, ahora veremos dos temas importantes:
- Publicar aplicaciones via web (RemoteApps)
- Demostrar la funcionalidad de «Remote Desktop Connection Broker»
Para cumplir estos objetivos veremos primero un panorama de las configuraciones tomadas por omisión, luego crearemos y configuraremos una “Collection” donde publicaremos un par de aplicaciones de prueba, para finalmente, utilizando dos usuarios de prueba observaremos la funcionalidad provista por «Remote Desktop Connection Broker», que es muy importante, y nada mejor que verlo directamente
Comencemos en “Server Manager” de DC1 donde hemos centralizado la administración de la infraestructura de Escritorio Remoto, ingresando a “Remote Desktop Services”
En esta pantalla podemos observar que en la parte superior tenemos enlaces para agregar RDSHs, y crear “Collections”
Abajo a la derecha tenemos la lista de servidores y la funcionalidad de cada uno
Y en la parte central podemos ver representaciones de cada uno de los roles de Escritorio Remoto, donde particularmente podemos ver en color verde los que aún no hemos instalado y configurado, en nuestro caso “RD Gateway” y “RD Licensing”, que ya lo haremos más adelante
Podemos observar que desde la lista desplegable “Tasks” podríamos agregar más servidores
O inclusive con botón derecho sobre cada una de las representaciones de las funcionalidades podemos agregar o quitar servidores
Pero de todas formas, vamos a ver primero la configuración por omisión que ha tomado el sistema, para lo cual despleguemos “Tasks” del cuadro “Deployment Overview”, y seleccionemos “Edit Deployment Properties”
Vamos a ir recorriendo cada una de las opciones
En primera instancia (“RD Gateway”) vemos que el sistema ha dejado marcada la opción de no usar “Remote Desktop Gateway” que por ahora es la correcta ya que la funcionalidad no fue instalada. Aunque además podemos ver que se puede dejar que se detecte automáticamente, o especificar un equipo
Luego tenemos “RD Licensing” que por ahora no ha sido configurado, y lo dejaré así hasta que no instale la correspondiente funcionalidad. Esto es importante hacerlo así, y dejar la configuración de licenciamiento al final de todo, ya que una vez que el servidor de licencias es activado, si debemos reactivarlo ya no será tan fácil, y nunca estamos libres de tener algún inconveniente y querer comenzar nuevamente toda la configuración de Escritorio Remoto. Observar que como supongo conocemos se puede licenciar “Por usuario” o “Por dispositivo”
En “RD Web Access” no hay mucho para comentar, sólo figura el servidor que hemos configurado con dicha funcionalidad
Y por último en “Certificates” vemos que por ahora está todo sin configurar, ya lo haremos más adelante
Cerremos el cuadro y comencemos a crear nuestra primera “Collection” para lo cual desde el cuadro “Collections” usando “Tasks”, “Create Session Collection” como muestran las siguentes pantallas
Asignamos un nombre a la “Collection”
Debemos incluir ambos RDSHs para que atiendan los requerimientos de aplicaciones, Por supuesto que en este caso ambos equipos deben tener instaladas todas y las mismas aplicaciones que vamos a publicar por RemoteApp
Aunque yo no voy a restringir qué grupo de usuarios van a poder acceder, vean que es una muy buena opción si no fueran todos los usuarios a los que le quiero dar acceso a las aplicaciones publicadas en esta “Collection”
Para no complicar aún más esta demostración, en este caso desmarcaré la opción “Enable user profile disks”, observen la nota resaltada
Revisamos si todo está de acuerdo a lo que deseamos, y pulsamos “Create”
Y finaliza
Vamos a editar, como muestra la siguiente pantalla, las propiedades de esta “Collection” ya que hay configuraciones importantes, y además podemos indicar algunas sobre las que el asistente no ha preguntado
En “General” no hay mucho para hacer, salvo que quisiéramos cambiarle el nombre, o eventualmente que no sea publicada en RDWeb, por ejemplo por un mantenimiento temporal
En “User Groups” podemos alterar qué grupos de usuarios podrán acceder
Y ahora en “Session” hay configuraciones importantes a tener en cuenta y que el asistente no ha preguntado
Observen que por omisión, nunca finalizará sesiones activas, desconectadas u ociosas (sin actividad). Estas son opciones que seguramente, y de acuerdo al ambiente de cada uno le convendrá cambiar
Cuando un usuario cierra su sesión de “RD-Web Access”, por omision queda desconectada, pero no se cierra (salvo que apaguemos los servidores) y por lo tanto aunque el usuario no esté haciendo nada, ni siquiera con inicio de sesión, esta continuará consumiendo recursos en los servidores
Puede llegar a ser importante que el sistema pueda liberar los recursos consumidos, por ejemplo, si una sesión está desconectada por más de “X” tiempo
En “Security” tengan en cuenta que si quieren seguridad mejorada deben dejar la opción “Allow connections only from computers running Remote Desktop with Network Level Authentication”, pero por otro lado puede traer problemas con clientes RDP “viejos”
En “Load Balancing” observen que podemos repartir la carga en forma diferente entre los RDSHs, por ejemplo si no tuvieran el mismo hardware
En “Client Settings” podemos configurar el redireccionado de recursos en los clientes, que en mi caso los he deshabilitado a casi todos
Y por último nos queda “User Profile Disks” que no hemos configurado
Teniendo creada y configurada la “Collection” ahora sí, vamos a agregar las aplicaciones que vamos a publicar, como muestran las siguentes pantallas
Recuerden que las aplicaciones que vamos a publicar se deben tener instaladas en todos los RDSHs, y como esto es sólo una demostración utilizaré un par de aplicaciones incluidas en el propio sistema: “Calculator” y “Paint”
Vamos a probar el funcinamiento desde los clientes ahora
En CL1 inicio sesión con “RD-User”, y me conecto como hicimos antes a https://rd-wa-cb-gat.ad.guillermod.com.ar donde incio sesión con el mismo usuario. Podemos observar las aplicaciones publicadas. Pulso sobre la calculadora, y recibo el conocido mensaje de advertencia que no puede identificar al creador de la RemoteApp. Por ahora ignoremos el mensaje y conectemos igual, ya lo solucionaremos más tarde a diferencia de las notas anteriores :)
Y ya tenemos en funcionamiento “Calculator” que en realidad se está ejecutando en uno de los dos RDSHs, como podemos ver en el “Task Manager”
Seguidamente creé un nuevo usuario de pruebas (“RD-User2”) e inicié sesión en CL2 para probar qué sucede con Edge
Hacemos la conexión al sitio web en igual forma que lo hicimos en CL1
En este caso ejecutaré el “Paint”. Observen la parte inferior que dice que ha descargado un RDP y si deseamos ejecutarlo, que por supuesto aceptaremos pulsando “Open”
[Nota] Esto es lo único que hasta hoy no he podido evitar
Se repite la advertencia respecto a la identificación de la aplicación. Esto sí lo solucionaremos luego
En este caso nos pide nuevamente autenticación de usuario y contraseña. Luego veremos si podemos solucionar este caso
He editado algo en el “Paint” solamente para demostrar lo que sigue en cuanto al funcionamiento de “RD Connection Broker”
Es momento de ver cuáles son las funciones del “RD Connection Broker”, son dos:
- Repartir la carga de usuarios entre los diferentes RDSHs
- Permitir la reconexión de sesiones desconectadas a la sesión existente, aún si es desde un cliente diferente
La primera la podemos verificar fácilmente, ya que podemos ver en las “Connections” de Escritorio Remoto, que ha repartido los clientes, cada uno en una sesión diferente en un RDSH distinto
Vamos ahora a CL1, y ejecutemos un “Sign out”. Eso cierra la sesión, pero no la elimina, simplemente queda desconectada
También cierro la sesión en CL2, que tiene el usuario “RD-User2”. Observen que está el “Paint” abierto y con un archivo que no se ha salvado
Ahora en CL1, inicio sesión con “RD-User2”, que anteriormente estaba en CL2 y dejó un archivo abierto y sin guardar
Como podemos observar, y esta es la otra función de “RD Connection Broker” lo reconecta a la sesión existente, sin haber perdido nada
Si observamos las “Connections” a la “Collection”, podemos observar que ambas sesiones de los usuarios están presentes, sólo que una está “Disconnected”, y la otra “Active”
Si cierro la sesión de “RD-User2” (“Sign out”) podemos ver que ambas sesiones, aunque desconectadas quedan activas, consumiendo algunos recursos de los servidores
Y por eso es que, como nombré antes, hay que prestar especial atención a cómo configuremos la ficha “Sessions” de las propiedades de la “Collection”, y normalmente ponerle un período máximo a las sesiones desconectadas
Cuidado con esta configuración ;)
En esta nota llegamos hasta acá. Resumiendo, hemos creado la infraestructura necesaria de certificados, y servidores para Escritorio Remoto, demostrado el acceso al “Escritorio Remoto” de los servidores, y finalmente en esta nota la publicación y acceso directo a aplicaciones a través de interfaz de un explorador
Nos falta, entre otras corregir algunos mensajes de advertencia que lo haremos en la próxima nota “Remote Desktop – Escritorio Remoto: Configuración de las RemoteApps (Nota 4)”
Comentarios
Como siempre que visito tu blog, una duda , una resolución.
Gracias por la explicación y el detalle, el esfuerzo, creemé que merece la pena, al menos para personas como yo, q intentan ser mejor en su trabajo y gracias a ti lo consiguen.
Un abrazo desde sevilla compañero.
Hola Luison, muchas gracias por tu comentario. Me alegro mucho te sirva
Este blog es algo que comencé hace unos años, como una forma de apoyo a los cursos de capacitación que dictaba, y aunque no lo estoy haciendo actualmente, sigo agregando notas
¡Gracias!
Buena noche mi estimado gracias por el material , he logrado realizar todas estas conexiones , pero ahora quisiera saber si existe alguna forma de configurar las publicaciones de App de modo que no solo funcionen en la red local, mas bien me interesa sacarlos fuera de la red, te comento que tengo una red VPN en el cual todos mis usuarios de la compañía se conectan para alcanzar el escritorio remoto pero de la manera tradicional y me gustaría que mi sistema de producción sea alcanzado desde cualquier red sin usar el escritorio remoto tradicional donde acceden a todos los componentes de Windows.
Espero y puedas comentar al respecto te lo agradecería mucho.
Saludos bro.
Hola Javier, no comprendo totalmente la pregunta
Si los usuarios se conectan por VPN, eso es equivalente prácticamente a tener la máquina en la red interna, por lo tanto podrían hacer lo mismo que si estuvieran en la red de la empresa, incluyendo a las RemoteApps
Si no hubiera VPN entonces hay que usar el RD-Gateway como está mostrado en esta serie de notas
Precisamente los usuarios se conectan por VPN , efectivamente vemos la Ip y logramos loguearnos al portal desde la web pero al tratar de ingresar a la app publicada , en este caso es mi sistema productivo me sale un mensaje que no es posible conectarme.
Pero si trato de conectarme a la manera tradicional Clic en escritorio remoto de Windows ingreso nombre de host o ip de este modo la conexión si es posible .
Hola Javier, realmente no tengo, ni podemos hacer por acá, ver toda la configuración, pero es raro. Si internamente funciona sin problemas, investigaría primero por conectividad de red, porque por ejemplo dependiendo del direccionamiento de la VPN quizás sea la máquina la que no sabe por dónde responder al cliente, o algún tema de cortafuegos en alguno de los puntos. Una vez que una máquina se conecta por VPN es equivalente a estar en la red interna. Si el direccionamiento de la VPN es el mismo que la red interna, entonces el VPN actúa como «proxy ARP», pero si es diferente entonces funciona como Router
Investiga por el lado de conectividad IP a ver si hay algo así
Otro tema a considerar, el acceso al RD-Web es por HTTPS, pero luego es RDP
En el server 2016 hay que activar por registro dos opciones: Lo dejo aqui por si alguien lo necesita:
https://support.microsoft.com/es-sv/help/3200967/changes-to-remote-connection-manager-in-windows-server
Hay que meter esta clave en el registro:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
«fQueryUserConfigFromDC»=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
«fQueryUserConfigFromDC»=dword:00000001
Gracias Rufi :)
Hola Guillermo, excelente tutorial. Tengo una consulta:
Aqui se indica que el RDSH1 y RDSH2 tienen que tener las mismas aplicaciones, pero si yo tengo en mi servidor1 una app y en el servidor2 otra app, ambas diferentes porque cada una tiene su BD propia, habrá forma de ingresar a una unica WEB donde me muestren las dos aplicaciones.
A la espera de tu respuesta.
Saludos
El que impide es el «RD-Connection Broker» porque trata de balancear la carga, repartiendo los usuarios entre los servidores, no tienes control sobre a cuál de los servidores va a conectar al usuario
Ya que el RD-CB siempre realiza el balance entre servidores, ¿tendría que publicar mis aplicativos por separado?
¿Solo tendría que usar «Quick Start»?
Saludos
Si tienes dos RDSH deberías implementar «Standard Deployment». O si usas «Quick start» agregar luego el segundo RDSH y hacer todos los cambios para que lo reconzan los demás servicios de RD
Las aplicaciones deben estar instaladas en todos los RDSH si hay más de uno
Hola estimado, muchas gracias por compartir tan buena información. Le dejo una consulta. Tuve que reinstalar el servicio remoteapp en mi server 2012 r2 y cuando vuelvo acceder, aún me aparecen las apps publicadas de la primera configuración en rdweb. Lo llamativo es que no tengo en este momento apps publicadas, y no se como quitar esos accesos que aún perduran en redweb. Sería tan amable de guiarme por una solución? Muchas gracias!
Hola Fernando, gracias por tu comentario. No tengo a la vista ninguna instalación para darte el lugar justo, pero en la colección hay una pantalla donde muestra las aplicaciones, supongo que es desde esa
Trackbacks
[…] Remote Desktop – Escritorio Remoto: Publicar Aplicaciones “RemoteApps” (Nota 3) […]
[…] Continuamos en la próxima nota “Remote Desktop – Escritorio Remoto: Publicar Aplicaciones “RemoteApps” (Nota 3)” […]
[…] Remote Desktop – Escritorio Remoto: Publicar Aplicaciones “RemoteApps” (Nota 3) […]