Desktop remoto con Windows Server 2016 RDP: Come avviare automaticamente un programma al login

Desktop remoto con Windows  Server 2016 RDP: Come avviare automaticamente un programma al login

In una recente installazione di Windows server 2016, con i servizi di remote desktop attivi,  mi sono accorto che non era più possibile far avviare in automatico un’applicazione, specificando il percorso direttamente nell’icona del client di desktop remoto.

Come si può vedere qui sotto, impostando la connessione desktop remoto di windows 7, nella sezione programmi, ho specificato l’avvio automatico del blocco note.
(per windows 10, la procedura è un po’ più articolata)

Quando la connessione veniva effettuata verso il vecchio server 2008, l’applicativo impostato (nell’esempio, Blocco Note) veniva avviato senza problemi.
Inoltre, cosa importate, in questo modo veniva avviato SOLO l’applicativo impostato nella connessione di desktop remoto. Dopo l’inserimento delle credenziali, l’utente si trovava il suo applicativo a tutto schermo e nient’altro. Finito il lavoro, chiudeva con la X, e la sessione veniva disconnessa. In questo modo non poteva interagire con il desktop del server (a meno che l’utente non fosse troppo avanti!)

Con il nuovo Windows Server 2016, questa impostazione viene del tutto ignorata.
La connessione si avvia, ma il Blocco Note non parte in automatico, appare il desktop del server al quale ci si collega. Oppure si riceve un errore di “percorso non trovato” anche se questo è corretto.

Leggendo su vari forum MS, ho scoperto che questo comportamento è dovuto alla diversa impostazione di sicurezza di Windows Server 2016. In pratica vengono ignorate le impostazioni client.
Link all’articolo MS che spiega la modifica apportata

Come fare allora a ripristinare una condizione, che con i server 2008 funzionava correttamente, e che molto probabilmente era già impostata presso il cliente?

Ci sono tre passi fondamentali:

 

passo uno: abilitare il comportamento server pre 2016
chiave:  fQueryUserConfigFromDC

 

Inseririamo due nuove chiavi di registro DWORD 32, che forzano il server 2016, di tenere conto delle impostazioni del client, o dell’utente di Active Directory, che si collega in desktop remoto:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services Name: fQueryUserConfigFromDC Type: Reg_DWORD Value: 1 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-tcp Name: fQueryUserConfigFromDC Type: Reg_DWORD Value: 1

passo due: Abilitare l’esecuzione di programmi non elencati nella lista dei software consentiti

Aprire la console delle policy locali sul server 2016: comando GPEDIT.MSC

Nell’esempio ho usato un server 2016 in lingua inglese.

Portarsi in: Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections  > Allow remote start of unlisted programs

Fare un doppio click sulla voce Allow remote start of unlisted programs, e abilitare la funzione in modo che sia settata su Enabled

 

 

Passo tre: specificare che devono potersi avviare i programmi impostati lato client.

 

Aprire la console di gestione desktop remoto sul server 2016 > doppio click sul nome connessione RDP-tcp > portarsi sulla linguetta Environment (ambiente in italiano) e spuntare la voce: Run initial program specified by user…

 

 

Utilizzando questa procedura, gli amministratori possono continuare ad utilizzare la connessione RDP verso il server, accedendo al desktop e alle varie funzioni.
Gli utenti standard invece, utilizzeranno per la connessione, un’icona personalizzata NOTEPAD.RDP, all’interno della quale andremo a specificare quale applicativo avviare in automatico.

PS: per gli utenti con client windows 10
Il nuovo client di connessione desktop remoto di Windows hanno eliminato la linguetta con la voce Programmi

 

Client RDP Windows 10 senza linguetta con opzione Programmi  

      

Client RDP tradizionale in uso con Windows 7 con linguetta per impostazione programmi in avvio automatico   

Per ovviare a questo problema, si può editare con il blocco note il file della connessione RDP che viene generato.

Aprendolo il file .RDP con il blocco note, (tasto dx sull’icona > apri con > blocco note) si vedranno le varie impostazioni:

Cerchiamo la voce:
  alternate shell:s:

e trasformiamola in
  alternate shell:s:c:\windows\system32\notepad.exe 
(o con il percorso esatto del programma che vogliamo aprire automaticamente)

 

Eseguite queste modifiche, il file di connessione remota notepad.rdp apparirà così:

NOTEPAD.RDP

screen mode id:i:2
use multimon:i:0
desktopwidth:i:1366
desktopheight:i:768
session bpp:i:32
winposstr:s:0,1,2,2,1131,675
compression:i:1
keyboardhook:i:2
audiocapturemode:i:0
videoplaybackmode:i:1
connection type:i:7
networkautodetect:i:1
bandwidthautodetect:i:1
displayconnectionbar:i:1
enableworkspacereconnect:i:0
disable wallpaper:i:0
allow font smoothing:i:0
allow desktop composition:i:0
disable full window drag:i:1
disable menu anims:i:1
disable themes:i:0
disable cursor setting:i:0
bitmapcachepersistenable:i:1
full address:s:192.168.8.106
audiomode:i:0
redirectprinters:i:0
redirectcomports:i:0
redirectsmartcards:i:0
redirectclipboard:i:1
redirectposdevices:i:0
autoreconnection enabled:i:1
authentication level:i:2
prompt for credentials:i:0
negotiate security layer:i:1
remoteapplicationmode:i:0
alternate shell:s:c:\windows\system32\notepad.exe
shell working directory:s:
gatewayhostname:s:
gatewayusagemethod:i:4
gatewaycredentialssource:i:4
gatewayprofileusagemethod:i:0
promptcredentialonce:i:0
gatewaybrokeringtype:i:0
use redirection server name:i:0
rdgiskdcproxy:i:0
kdcproxyname:s:
drivestoredirect:s:
username:s:.\notepad

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *