Remote Desktop (Terminal Services) – Escritorio Remoto (Parte 12 de …) Personal Virtual Desktops por Web Access

Seguiremos extendiendo nuestro laboratorio de pruebas, esta vez agregando la funcionalidad de Personal Virtual Desktops, con acceso por Remote Desktop Web Access.

El objetivo es proveer a cada usuario con una máquina virtual personal, a la cual cada usuario podrá acceder a través de acceso web (Web Access)

Para esta nueva experiencia deberemos agregar agregar a nuestra infraestructura existente un equipo con capacidades para virtualizar Hyper-V

En mi desarrollo, y hasta ahora, he utilizado todas máquinas virtuales, pero este nuevo equipo será una máquina real (no virtual), por el hecho de tener que virtualizar a otras.

Antes que alguien comente, si, ya sé, hay posibles trucos mediante para poder virtualizar dentro de una virtual, yo lo he hecho y funciona bastante bien.
Pero en este caso, por tema performance y requerimientos de hardware he preferido poner un equipo aparte para que funcione como Remote Desktop Virtualization Host

¡Comencemos! Lo primero es disponer de un equipo capaz de virtualizar con Hyper-V, lo que implica tres condiciones:

  • Plataforma x64
  • Soporte de virtualización (Intel-VT o AMD-V)
  • Soporte DEP (NX = No execute)
  • Hardware suficiente para ejecutar por lo menos un Windows 7

Este equipo lo deberemos unir al Dominio existente, no lo describiré ya que supongo que todos tienen claro el procedimiento

En mi caso este equipo ya tenía instalado Hyper-V y creada una máquina virtual Windows 7 Enterprise x86
En otro caso, cuando agreguen el rol de Remote Desktop Virtualization Host agregará automáticamente Hyper-V, y deberán crear por lo menos una máquina virtual con Windows 7 Enterprise Edition, para asignar al usario. Para que tengan de referencia, en mi caso la máquina real se llama Core2Quad.guillermod.local

Remote Desktop Virtualization Host es un Role Services de Remote Desktop, así que como es normal entramos por Server Manager y lo agregamos. Recordar que en mi laboratorio ya esta instalado Hyper-V

Como tenía con antelación instalado Hyper-V, y creada una máquina virtual, si entramos a Hyper-V Manager, podemos ver lo siguiente

IMPORTANTE: El nombre de la máquina virtual en Hyper-V debe coincidir con el nombre de máquina que se asignará al usuario. Así en mi caso debí renombrar la máquina virtual a VD1.guillermod.local, que es el nombre que usaré luego.

Esta máquina Win7 Enterprise la he puesto sobre una red capaz de comunicarse con el Controlador de Dominio, le he configurado la red adecuadamente, y la he unido al Dominio. Todo de acuerdo a las siguientes figuras

Para que este equipo pueda funcionar como Remote Desktop Personal, hay que hacer varias configuraciones, entre ellas:

  • Habilitar Remote Desktop
  • Habilitar Remote Procedure Call
  • Agregar al usuario al grupo Remote Desktop Users
  • Agregar los permisos al RDP-TCP Listener al Virtualization Host Server
  • Agregar en el cortafuegos la excepción para Remote Desktop
  • Agregar en el cortafuegos la excepción para Remote Services Management
  • Reinciar Remote Desktop Service

¿Trabajoso verdad? pero tenemos la solución sencilla. Hay un script PowerShell en el Technet Scripting Center que puede hacer todo de una vez, y lo más importante, sin errores 😉
Lo pueden bajar desde http://go.microsoft.com/fwlink/?LinkId=184804

Copiamos el script al Windows 7 virtual que tenemos y ejecutamos:
Set-ExecutionPolicy remotesigned –force

Y luego ejecutamos (Atención con el “.” al principio de la línea):
.Configure-VirtualMachine.ps1 –RDVHost guillermodCore2Quad –RDUsers guillermodRD-User1

Estemos seguros que no da ningún error

Y ya podemos proceder al shutdown de este equipo

Ahora vamos a nuestro Remote Desktop Connection Broker (RDCB) e ingresamos a Remote Desktop Connection Manager, y seleccionamos sobre la derecha la opción: Configure Virtual Desktop Wizard, y seguimos el asistente

Con el nombre y el botón Add, agregarmos a nuestro Remote Desktop Virtualization Host

Agregamos al Remote Desktop Host que hará la redirección

Encuentra automáticamente al Remote Desktop Web Access debido a la configuración de las prácticas anteriores

Confirmamos y aplicamos

Revisamos que esté marcada la opción: Assign Personal Virtual Desktop y finalizamos

Automáticamente comenzará el asistente para asignar la máquina virtual. En el mismo lo primero es asignar a qué usuario, cuál escritorio virtual

En nuestro caso yo he creado una sola máquina virtual, así que no habiendo más desmarco la opción para asignar otra virtual a otro usuario

 

¡Bién! Llegó el momento de probar desde el cliente con el usuario en cuestión, y verificar que todo funcionará de acuerdo a lo previsto

En CL1, iniciamos sesión con RD-User1, y accedemos al Web Access (https://wa1.guillermod.local/RDWeb) e iniciamos sesión

Podemos observar que ahora aparece un nuevo icono llamado My Desktop el cual pulsaremos

Iniciamos sesión

Un poco de suspenso 😉
Tengamos en cuenta que en este momento está levantando la máquina virtual, así que dependiendo de la potencia de nuestro Remote Desktop Virtualization Host podrá demorar algún tiempo

Y finalmente

Podemos notar que RD-User1 que inició sesión en CL1, está conectado a por Remote Desktop, a un equipo virtual VD1, que se está ejecutando en nuestro Remote Desktop Virtualization Host (Core2Quad)

Resumiendo, de esta forma podemos asignar a cada usuario “su propia máquina virtual”, y facilitando el acceso a la misma a través de Remote Desktop Web Access

No es la finalidad de este laboratorio de prueba, pero en forma totalmente análoga podemos crear “n” máquinas virtuales para asignarle cada una a un usuario en particular.

Post a comment or leave a trackback: Trackback URL.

Comments


  • Fatal error: Uncaught Error: Call to undefined function ereg() in F:\blogs.itpro.es\wp-content\themes\notesil\functions.php:333 Stack trace: #0 F:\blogs.itpro.es\wp-content\themes\notesil\functions.php(35): notesil_commenter_link() #1 F:\blogs.itpro.es\wp-includes\class-walker-comment.php(179): notes_comments(Object(WP_Comment), Array, 1) #2 F:\blogs.itpro.es\wp-includes\class-wp-walker.php(145): Walker_Comment->start_el('', Object(WP_Comment), 1, Array) #3 F:\blogs.itpro.es\wp-includes\class-walker-comment.php(139): Walker->display_element(Object(WP_Comment), Array, '5', 0, Array, '') #4 F:\blogs.itpro.es\wp-includes\class-wp-walker.php(387): Walker_Comment->display_element(Object(WP_Comment), Array, '5', 0, Array, '') #5 F:\blogs.itpro.es\wp-includes\comment-template.php(2174): Walker->paged_walk(Array, '5', 0, 0, Array) #6 F:\blogs.itpro.es\wp-content\themes\notesil\comments.php(25): wp_list_comments('type=comment&ca...') #7 F:\blogs.itpro.es\wp-includes\comment-template.php(1512): require('F:\\blogs.itpro....') #8 F:\ in F:\blogs.itpro.es\wp-content\themes\notesil\functions.php on line 333