Server Based Personal Session Desktops

Una delle novità in ambito Remote Desktop Services (RDS) è un nuovo modello di deploy che va ad aggiungersi a quelli attuali disponibili in Windows Server 2012/R2.

image

Il primo modello di deploy è il Virtual machine-Based Desktop Deployment è basato su server con il ruolo RD Virtualization Host tramite permette di implementare un’infrastruttura di tipo VDI in cui ad ogni utente viene assegnata una VM che può essere di tipo Personal o Pooled basata su un sistema operativo client.

Il secondo modello di deploy è il Session-Based Desktop Deployment è basato su un server con il ruolo RD Session Host tramite cui è possibile implementare un’infrastruttura basata sul tradizionale modello Terminal Server in cui ogni utente può accedere ad una sessione eseguita su di un sistema operativo server condiviso.

In Windows Server Technical Preview 2 (e quindi anche in Windows Server 2016) è stato introdotto il nuovo modello di deploy denominato Server Based Personal Session Desktops che di fatto è una combinazione dei due modelli di deploy attualmente che permette di implementare un’infrastruttura VDI non basata su sistemi operativi client in cui ogni utente può accedere ad un server col ruolo RD Session Host come fosse il suo desktop personale grazie al fatto Windows Server 2016 ha migliorato la feature Desktop Experience in modo da garantire una user experience identica a quella di Windows 10 in una sessione RD. Inoltre sebbene la sessione utente sia eseguita su di un sistema operativo server gli utenti avranno la possibilità non solo di avere un desktop persistente, ma anche la possibilità di installare applicazione e privilegi di amministrazione locale.

Al momento nella Windows Server Technical Preview 2 questo nuovo modello di deploy non può essere creato nè gestito tramite il la console  Remote Desktop Management Services (RDMS) integrata nel Server Manager, ma occorre utilizzare PowerShell per creare e gestire la Session Collection che non verrà mostrata nella RDMS console.

Per testare in Server Based Personal Session Desktops è possibile creare il seguente ambiente di test:

  • 1 server Domain Controller (SRVDC01) col ruolo Active Directory Domain Services per il dominio test.local
  • 1 server Windows Server Technical Preview 2 (SRVRDCBWA) con i ruoli RD Connection Broker e RD Web Access
  • 2 server Windows Server Technical Preview 2 (SRVRDSH01, SRVRDSH02) col ruolo RD Session Host
  • 2 utenti (test\usr01, test\usr02)

Quindi per procedere alla configurazione è possibile utilizzare le seguenti istruzioni che vanno eseguite in un prompt di PowerShell eseguito con privilegi amministrativi per eseguire le seguenti operazioni:

  • Creazione di un RDS deployment basato sui server srvRDSH01 e srvRDSH02 tramite i cmdlet New-RDSessionDeployment e Add-RDServer che installeranno il ruolo RD Session Host per realizzare un session-based desktop deployment
  • Creazione di una collection Server Based Personal Session Desktops tramite il cmdlet New-RDSessionCollection a cui sono stati aggiunti i nuovi parametri -PersonalSessionCollection e -GrantAdministrativePrivilege  che consentono di creare una Personal Session Desktop collection e, ove necessario, concedere agli utenti i privilegi amministrativi locali sul loro personal Session Host (il parametro PersonalSessionCollection sarà rinominato in PersonalUnmanaged in Windows Server 2016)
  • Associare un Personal Session Host ad uno specifico utente tramite il nuovo cmdlet Set-RDPersonalSessionDesktopAssignment, nel nostro esempio assegneremo SRVRDS01 a test\usr01 e SRVRDS02 a test\usr02

Import-module RemoteDesktop

$SRVCBWA = “SRVRDCBWA.test.local”
$SRVRDSH01 = “SRVRDSH01.test.local”
$SRVRDSH02 = “SRVRDSH02.test.local”

 

$CollectionName = “ServerBasedPSD”

 

$User1 = “test\usr01”
$User2 = “test\usr02”

New-RDSessionDeployment -ConnectionBroker $SRVCBWA -WebAccessServer $SRVCBWA -SessionHost $SRVRDSH01
Add-RDServer -Server $SRVRDSH02 -Role “RDS-RD-Server” -ConnectionBroker $SRVCBWA

 

New-RDSessionCollection -CollectionName $CollectionName -ConnectionBroker $SRVCBWA -SessionHost $SRVRDSH01,$SRVRDSH02 -PersonalSessionCollection -GrantAdministrativePrivilege

 

Set-RDPersonalSessionDesktopAssignment -CollectionName $CollectionName -ConnectionBroker $SRVCBWA -User $User1 -Name $SRVRDSH01

Set-RDPersonalSessionDesktopAssignment -CollectionName $CollectionName -ConnectionBroker $SRVCBWA -User $User2 -Name $SRVRDSH02

Terminata la configurazione è possibile verificare che l’assegnazione Personal Session Host – utente è avvenuta correttamente tramite il  nuovo cmdlet Set-RDPersonalSessionDesktopAssignment:

Get-RDPersonalSessionDesktopAssignment -CollectionName $CollectionName

che nel nostro esempio riporterà il seguente output:

CollectionName            DesktopName                                   User
————–                   ———–                                             —-
ServerBasedPSD          SRVRDSH01.TEST.LOCAL            TEST\usr01
ServerBasedPSD          SRVRDSH01.TEST.LOCAL            TEST\usr02

La novità importante che introduce il nuovo modello di deploy Server Based Personal Session Desktops è che la possibilità di creare un’infrastruttura VDI basata su un sistema operativo server e in particolare su una server RD Session Host Personal è quella di poter creare di una infrastruttura VDI in Cloud e quindi in Azure. Infatti la possibilità di poter utilizzare server RD Session Host Personal al post di VM con sistemi operativi client permette di creare una soluzione VDI senza di fatto aver la necessità di utilizzare un server RD Virtualization Host che in Azure non avrebbe potuto essere ospitato dal momento che non è possibile accedere all’hypervisor e non è possibile licenziare una VM client per scenari VDI.

Per maggiori informazioni si veda la sessione Deploying Remote Desktop Services (RDS) Roles in Microsoft Azure and Partner Hosted Clouds presentata a Ignite 2015 da Clark Nicholson (membro dell’RDS Product Team), l’articolo NEW RDS deployment model: Personal Session Desktops! di Free Berson (Microsoft MVP per la categoria RDS) e il post New Windows Server 2016 Capability: Personal Session Desktops sul blog del team Remote Desktop Services.

Per l’elenco dei nuovi cmdlets PowerShell introdotti in Windows Server Technical Preview 2 si veda il post New PowerShell cmdlets in Windows Server 2016 TP2 (compared to Windows Server 2012 R2) di Jose Barreto (membro del File Server team in Microsoft).

Inoltre vi ricordo che se desiderate approfondire i Remote Desktop Services e le nuove funzionalità che verranno introdotte in Windows Server 2016 vi aspettiamo alla Server Infrastructure Days 2015 il 17 e 18 Giugno 2015 dove sarò presente con le sessioni WS01 // Implementing IPv6: Notes From the Field e WS04 // Windows Server: Implement Remote Desktop Services.