Utilizzare le RemoteApp su Windows client

Nel caso si voglia accedere ad un’applicazione installata, ad esempio, su un sistema Windows 10 senza accedere al desktop, ma avviando via RDP esclusivamente l’applicazione è possibile usare la funzionalità RemoteApp introdotta in Windows Server 2008, ma di fatto utilizzabili anche su Windows XP SP3 e successivi. Ovvero è possibile usare anche su sistemi Windows client la funzionalità RemoteApp in modo analogo a come è possibile fare sui sistemi operativi Windows Server, anche se con la limitazione di un’unica sessione utente e gestendo manualmente la configurazione. 

Di seguito descriverò come procedere per avviare, ad esempio, Notepad in esecuzione su un sistema Windows 10 che assolve al ruolo di server Host sessione Desktop remoto denominato PC-RDPSrv tramite RemoteApp da un sistema Windows 10 che assolve al ruolo di client RDP denominato PC-RDPCli.

Passo 1: Abilitazione dell’esecuzione delle RemoteApp sul sistema che assolve al ruolo di server Host sessione Desktop remoto (PC-RDPSrv)

Per abilitare l’esecuzione delle RemoteApp occorre impostare a 1 il valore di registro fDisabledAllowList nella chiave di registro HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\TsAppAllowList.

Passo 2: Configurazione di Notepad come applicazione autorizzata ad essere utilizzata come RemoteApp sul sistema che assolve al ruolo di server Host sessione Desktop remoto (PC-RDPSrv)

Per configurare Notepad come applicazione autorizzata ad essere utilizzata come RemoteApp occorre procedere come segue:

  1. Creare se non esiste la chiave di registro Applications nella chiave di registro HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\TsAppAllowList
  2. Creare ad esempio la chiave di registro notepad (il nome può essere scelto a piacere) nella chiave di registro HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\TsAppAllowList\Applications
  3. Creare il valore Name di tipo REG_SZ impostandolo ad esempio a notepad (il nome scelto dovrà poi essere specificato nel file rdp, si veda il passo ) nella chiave di registro HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\TsAppAllowList\Applications\notepad
  4. Creare il valore Path di tipo REG_SZ impostandolo ad esempio a %windir%\system32\notepad.exe (ovvero al path della applicazione da avviare) nella chiave di registro HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\TsAppAllowList\Applications\notepad

Per ulteriori informazioni si vedano Win32_TSPublishedApplicationList class – Win32 apps | Microsoft Learn e Win32_TSPublishedApplication class – Win32 apps | Microsoft Learn.

Passo 3: Creare sul sistema che assolve al ruolo di client RDP denominato (PC-RDPCli) un file rdp

Creare tramite un il tool mstsc.exe un file rdp per connettersi al sistema che assolve al ruolo di server Host sessione Desktop remoto (PC-RDPSrv) specificando le eventuali opzioni necessarie (come ad esempio il nome utente da utilizzare per la connessione via RDP) tramite il pulsante “Salva con nome…”.

Passo 3: Modificare il file rdp per avviare Notepad tramite RemoteApp sul sistema che assolve al ruolo di client RDP denominato (PC-RDPCli)

Aprire con il blocco note il file rdp e sostituire la riga remoteapplicationmode:i:0 con le seguenti righe:

remoteapplicationmode:i:1
remoteapplicationname:s:
remoteapplicationprogram:s:notepad
remoteapplicationcmdline:s:

Si noti che nella proprietà remoteapplicationprogram va specificato il nome dell’applicazione specificato al Passo 2 e configurato nel valore di registro Name della chiave di registro HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\TsAppAllowList\Applications\notepad sul sistema che assolve al ruolo di server Host sessione Desktop remoto (PC-RDPSrv).

Per informazioni sulle proprietà supportate nei file RDP si veda Supported RDP properties | Microsoft Learn.

Conclusioni

Questo approccio può tornare utile se è necessario accedere ad un’applicazione con una sola sessione utente per volta, per tipicità dell’applicazione o perché si desidera impostare questo vincolo, assicurandosi di dovere manutenere l’applicazione e gestire l’aggiornamento della stessa su un solo sistema.