Como había prometido, hoy vamos a ver el tema de ejecutar aplicaciones remotas.
Este uso de Remote Desktop (Terminal Services) tiene, entre otras, dos ventajas importantes.
Primero, que el usuario no va a visualizar un “nuevo escritorio”, lo que para algunas personas suele llevar a confusión.
Y segundo, y quizás lo más importante, como el usuario va ver solamente la aplicación, queda mucho más protegida la seguridad de nuestro servidor
Seguimos con la misma configuración y máquinas de la nota anterior. Lo único a tener en cuenta es que en el equipo cliente (CL1) la sesión está iniciada con nuestro usuario de prueba (RD-User1)
Comencemos la configuración en el servidor RD1, abriendo Administrative Tools / Remote Desktop Services / RemoteApp Manager, donde podremos observar la siguiente consola, y donde elegiremos en la lista de tareas: Add RemoteApp Programs
Comenzamos con el asistene para seleccionar las aplicaciones que haremos disponibles a los usuarios
Para esta demostración, y por simplicidad, elegiré aplicaciones incluidas con el sistema operativo del servidor, pero de la misma forma procederíamos con cualquier otra aplicación que estuviera instalada
Primero elegiré la calculadora de Windows
Y luego ejecutaré de igual forma el asistente pero esta vez agregaré el Paint
Quedando finalmente como muestra la siguiente
A continuación vamos a probar las dos opciones de aplicaciones remotas, mediante archivo RDP, y mediante archivo MSI, y compararemos las diferencias entre uno y otro método
Para el primer caso con botón derecho sobre la calculadora elegiré la opción de crear un archivo RDP
Seguimos el asistente …
Observemos la ubicación que nos propone para dejar el archivo RDP. Eventualmente, si nos conviene podríamos cambiar la misma
Ahora haremos la prueba generando un archivo MSI, así que análogamente al caso anterior con botón derecho ahora sobre el Paint, elegimos crear un paquete Windows Installer (MSI)
En el siguiente paso podemos ver unas diferencias con el primer caso. Nos pregunta el nombre del submenú de Inicio donde le aparecerá al usuario, y si deseamos las extensiones de archivos con la aplicación
Conitunuamos, y vemos el resultado final
El paso siguiente es compartir dicha carpeta en el servidor, de modo tal que sea accesible a los usuarios, con permisos por lo menos de Lectura y Ejecución.
Hecho lo anterior, ahora desde CL1 y con la sesión iniciada como RD-User1 nos conectamos al compartido, y ejecutamos el CALC.RDP
Demorará un poco
Y veremos la Calculadora de Windows que aparenta estar ejecutándose localmente en el cliente, pero que en realidad se está ejecutando en el servidor RD1
Vemos que la puede minimizar en la barra de tareas como cualquier otra aplicación que estuviera ejecutándose localmente.
Inclusive podría y convendría que se cree un acceso directo por ejemplo, para acceder a la aplicación sin necesidad de tener que acceder primero al compartido
Vamos ahora a probar qué sucede con el archivo MSI que generamos. Para eso accedemos al mismo compartido, pero esta vez ejecutamos PAINT.MSI
En este caso aparecerá una importante diferencia con el primer caso. Como debe instalar algo localmente, solicitará credenciales de cuenta que tenga los privilegios necesarios.
Lo importante a tener en cuenta, es que esto lo hará solamente la primera vez; y además debemos recordar que esto lo podemos automatizar mediante Directivas de Grupo (GPOs) si quisiéramos
Luego de una corta instalación, veremos que en el menú de programas aparecerá la carpeta Remote Programs, con la aplicación dentro de ésta
Si la ejecutamos, veremos que no nos pide más credenciales, sino que simplemente hace la conexión a RD1 y ejecuta la misma
Si comparamos las dos opciones podemos notar diferencias. Mientras que una implementación con RDP no requiere suministrar credenciales adicionales, deberíamos de alguna forma proveer una forma de que el usuario tenga a su disposicón un acceso directo
En cambio, con la segunda opción (MSI), aunque la primera vez debemos suministrar credenciales, ya queda a disposición de todos los usuarios del equipo.
Es tan transparente que muchos pueden dudar si la aplicación se está ejecutando realmente en el servidor 😉
Para quien quiera sacarse las dudas, cuando un usuario esté ejecutando la aplicación puede ver la conexión remota, tanto en el Task Manager (Administrador de Tareas) como en Remote Desktop Session Manager
Con esto damos por finalizada esta parte, y continuaremos la siguiente con Remote Desktop Web Access, o Connection Broker. Vamos a ver todavía no está decidido cuál conviene ver primero
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