Windows 2012 R2 RDS Session Shadowing

La funzionalità di Session Shadowing fino a WS2008 R2 era presente in Kernel mode ed utilizzabile mediante il comando Shadow.

In WS2012 lo stack RDP è stato spostato in User Mode e la funzionalità di Session Shadowing è stata rimossa.

La Session Shadowing è però stata ripristinata in WS2012 R2 e resa disponibile tramite Server Manager o il client RDP 8.1 (mstsc.exe). A riguardo si veda Windows 8.1 / Windows Server 2012 R2 – RDS Shadowing is back!

Avviare la Session Shadowing tramite Server Manager

Per utilizzare la Session Shadowing tramite Server Manager è sufficiente selezionare la connessione su cui si desidera intervenire e se selezionare la voce Shadow del menu contestuale.

image

Avviare la Session Shadowing tramite il client RDP

Per avviare la Session Shadowing tramite il client RDP mstsc.exe occorre utilizzare le opzioni a riga di comando /shadow:sessionID, /control (Interazione con la sessione) e /noConsentPrompt: (Consente shadowing senza consenso utente).

Requisiti della Session Shadowing

  1. La Session Shadowing va esplicitamente abilitata tramite la seguente GPO:
    [<Computer Configuration>|<User Configuration>] \Administrative Templates \Windows Components \Remote Desktop Services \Remote Desktop Session Host \Connections \Set rules for remote control of Remote Desktop Services user sessions
  2. Per impostazione predefinita solo gli amministratori locali possono eseguire la Session Shadowing
  3. La Session Shadowing non è disponibile in ambiente Workgroup

Utilizzo della Session Shadowing per creare una Sistema di HelpDesk per le connessioni RDS

Passo1: Per gestire uno scenario di HelpDesk è possibile creare un gruppo in Active Directory a cui apparterranno gli utenti che si occuperanno di assistere gli utenti che utilizzeranno le connessioni Desktop Remoto, in questo esempio si suppone sia stato creato un gruppo RDSHelpDesk in un dominio Azienda.local.

Passo2: Utilizzando le indicazioni contenute nella KB 290720 è possibile concedere a tale gruppo i diritti completi sui Remote Desktop Services mediante il comando:

wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSPermissionsSetting WHERE (TerminalName=”RDP-Tcp”) CALL AddAccount “azienda\ RDSHelpDesk“,2

Di fatto questo comando non fa altro che eseguire il metodo AddAccount della classe WMI Win32_TSPermissionsSetting a riguardo si veda AddAccount method of the Win32_TSPermissionsSetting class.

Passo 3: Gli utenti del gruppo RDSHelpDesk si connettono via RDP al server RD Session Host per svolgere le attività di HelpDesk.

Passo 4: Per rilevare le informazioni sulle connessioni attive e in particolare l’ID della sessione su cui intervenire è possibile utilizzare il comando Quser.

Passo 5: Avviare la Session Shadowing utilizzando il Client RDP mstsc.exe specificando l’ID della sessione rilevato al Passo 4 tramite il seguente comando:

mstsc.exe /shadow:sessionID /control

Conclusioni

Con WS2012 R2  è nuovamente possibile intervenire sulle sessioni RDP attive visualizzandole semplicemente o interagendo. La Sessione Shadowing è possibile anche quando sono avviate solo RemoteApp e non sessioni RDP complete oppure su sessioni VDI.

Per ulteriori informazioni si vedano anche: