¿Pueden los clientes RDP iniciar una aplicación remota y luego solo mostrar esa aplicación (y no el escritorio)? La aplicación aparecería en pantalla completa dentro del cliente y si la aplicación se cerrara, la sesión finalizaría.
¿Pueden los clientes RDP iniciar una aplicación remota y luego solo mostrar esa aplicación (y no el escritorio)? La aplicación aparecería en pantalla completa dentro del cliente y si la aplicación se cerrara, la sesión finalizaría.
Respuestas:
Con un archivo de conexión RDP, puede configurar el shell alternativo para que sea su aplicación; la sintaxis del archivo es como
alternate shell:s:c:\winnt\system32\notepad.exe
y lo pasa como un argumento de línea de comandos a mstsc.exe; esto es similar a la solución de Chrissr, pero sin afectar cada sesión de RDP que inicie. Un resumen más completo de la configuración aquí .
"shell alternativo" ya no parece funcionar en las versiones recientes de Windows, RemoteApp
es el camino a seguir.
remoteapplicationmode:i:1
remoteapplicationname:s:Purpose of the app shown to user...
remoteapplicationprogram:s:C:\...\some.exe
remoteapplicationcmdline:s:
Para que esto funcione, por ejemplo, en Windows 10 Professional, es necesario habilitar alguna política :
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
"fAllowUnlistedRemotePrograms"=dword:00000001
.rdp
archivo en sí y en el registro en el servidor.
remoteapplicationfile:s
y remoteapplicationprogram:s
. La *file
clave especifica la ruta completa a un ejecutable en la computadora local (host) , mientras que la *program
clave especifica un ejecutable en la computadora remota .
A esto se le llama modo "continuo". rdesktop
, el cliente RDP para Unix, es capaz de esto. Desde la página de manual:
-A Enable SeamlessRDP. In this mode, rdesktop creates a X11 window for each window on the server side. This mode requires the SeamlessRDP server side component, which is available from http://www.cendio.com/seamlessrdp/. When using this option, you should specify a startup shell which launches the desired application through SeamlessRDP.
Consulte el sitio web de Cendio mencionado para obtener más información.
Editor del registro de Windows, versión 5.00 [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Terminal Server \ TSAppAllowList] "fDisabledAllowList" = dword: 00000001
1.2 Haga clic derecho sobre el archivo y haga clic en Merge, Yes, Ok.
modo de aplicación remota: i: 1 remoteapplicationname: s: esta será la descripción opcional de la aplicación Remoteapplicationprogram: s: ruta relativa o absoluta a la aplicación (Ejemplo: taskmgr o C: \ Windows \ system32 \ taskmgr.exe) remoteapplicationcmdline: s: aquí pondría cualquier parámetro de aplicación opcional
modo de aplicación remota: i: 1 nombre de la aplicación remota: s: programa de aplicación remota: s: mspaint Remoteapplicationcmdline: s:
2.2 Ingrese su nombre de usuario y contraseña y conéctese.
3. Ahora puede usar su RemoteApp sin ningún problema como si se estuviera ejecutando en su máquina local 😉
remoteapplicationprogram:s
clave para especificar una aplicación que reside en la computadora remota . Para ejecutar una aplicación local del lado del host en la computadora remota, use la remoteapplicationfile:s
clave en su lugar.
Sí, puede cambiar el shell predeterminado de Explorer.exe a una aplicación específica.
En Regedit, navegue hasta HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon. El shell actual debería ser Explorer.exe. Cámbielo a YourApp.exe. Eso cambiará el shell para todos los usuarios que inicien sesión en la máquina. Si solo desea cambiarlo para un usuario específico, vaya a la misma clave en HKEY_CURRENT_USER en su lugar.
Esto se llama RemoteApp. Para usarlo, debe instalar Terminal Services, que ahora se llama Servicios de escritorio remoto.
Creo que Citrix hace ese tipo de cosas. Aunque no estoy seguro de los detalles, ya que solo lo he usado un par de veces. Creo que el que usé se llamaba XenApp, pero no estoy seguro de si eso es lo que buscas.
En este artículo de CodeProject se muestra otra forma:
http://www.codeproject.com/KB/IP/tswindowclipper.aspx
La idea básica es crear un canal virtual que envíe la posición de la ventana de las aplicaciones que desea mostrar, luego solo renderice esa parte de la ventana en el cliente.
RDP no lo hará de forma nativa.
Como han dicho otras respuestas, deberá realizar algunas secuencias de comandos y realizar cambios en las políticas como una tontería para dificultar que los inicios de sesión de RDP ejecuten cualquier cosa que no sea la aplicación deseada.
Sin embargo, a partir de 2008, Microsoft ha lanzado la tecnología de virtualización de aplicaciones a través de Terminal Services que le permitirá hacerlo sin problemas.
Al menos en 2008R2, si las cuentas solo se usan para RDP y no para inicios de sesión locales, puede configurar esto por cuenta. Eso debería funcionar para clientes ligeros. Si las cuentas también se usan en escritorios locales, esto también afectaría esos inicios de sesión.
En ADUsers & Computers, abra las propiedades de la cuenta y vaya a la pestaña Environment. En esa pestaña, marque "Iniciar el siguiente programa al iniciar sesión" y especifique la ruta y el ejecutable del programa.