The new personal session desktop capability in Technical Preview 3 (TP3) of Windows Server 2016 Remote Desktop Services (RDS) allows administrators to deploy server-based personal desktops in a cloud computing environment where there is a separation between the fabric Hyper-V servers and the guest virtual machines (VMs), such as Microsoft Azure Cloud or the Microsoft Cloud Platform. The new personal session desktop capability extends the session-based desktop deployment scenario in Windows Server 2016 RDS to allow an administrator to create a new type of session collection where each user is assigned to their own personal session host with administrative rights. This capability is implemented in TP3 for PowerShell only. A graphical user interface will be added to the Server Manager for Remote Desktop Services in a future release.

 

Creating a Personal Session Desktop collection

The New-RDSessionCollection cmdlet has been extended with the following three new parameters:

–PersonalUnmanaged

-GrantAdministrativePrivilege

-AutoAssignUser

The –PersonalUnmanaged parameter specifies the new type of session collection that allows users to be assigned to a personal session host server. If the parameter is not present, then a traditional RD Session Host collection is created where users are assigned at logon time to the next available session host server as determined by the RD Connection Broker.

The –GrantAdministrativePrivilege parameter is only applicable if the –PersonalUnmanaged parameter is present and specifies that the user assigned to the session host will be given administrative rights by adding the user’s account to the local administrators group on the personal session host. If the parameter is not present, the user will be given standard user privileges.

The –AutoAssignUser parameter is only applicable if the –PersonalUnmanaged parameter is present and specifies that new users connecting through the RD Connection Broker are automatically assigned an unassigned session host. If no unassigned session host servers exist in the collection, an error message will be displayed to the user. If the parameter is not present, then users must be manually assigned a session host server prior to logging in.


Manually Assigning a User to a Personal Session Host

The Set-RDPersonalSessionDesktopAssignment cmdlet is used to manually assign a user to a personal session host server in the collection. The cmdlet supports the following parameters.

-CollectionName <string>

-ConnectionBroker<String>

-User <string>

-Name <string>

The –CollectionName parameter specifies the name of the personal session desktop collection. This parameter is required.

The –ConnectionBroker parameter specifies the Remote Desktop Connection Broker (RD Connection Broker) server for a Remote Desktop deployment. If you do not supply a value, the cmdlet uses the fully qualified domain name (FQDN) of the local computer.

The –User parameter specifies the user account to associate with the personal session desktop, in DOMAIN\User format. This parameter is required.

The –Name parameter specifies the name of the session host server. This parameter is required. The session host identified here must be a member of the collection that the -CollectionName parameter specifies.

The Import-RDPersonalSessionDesktopAssignment cmdlet imports associations between user accounts and personal session desktops from a text file. The cmdlet supports the following parameters.

-CollectionName<String>

-ConnectionBroker<String>

-Path<String>

The –Path parameter specifies the path and file name of a file to import.


Removing a User Assignment from a Personal Session Host

The Remove-RDPersonalSessionDesktopAssignment cmdlet is used to remove the association between a personal session desktop and a user. The cmdlet supports the following parameters.

-CollectionName<String>

-ConnectionBroker<String>

-Force

-Name<String>

-User<String>

The –Force parameter forces the command to run without asking for user confirmation.


Query the User Assignments

The Get-RDPersonalSessionDesktopAssignment cmdlet retrieves a list of personal session desktops and associated user accounts. The cmdlet supports the following parameters.

-CollectionName<String>

-ConnectionBroker<String>

-User<String>

-Name<String>

The cmdlet can be run to query by collection name, user name, or by session desktop name. If only the –CollectionName parameter is specified, a list of session hosts and associated users is returned. If the –User parameter is also provided, the session host associated with that user is returned. If the –Name parameter is provided, the user associated with that session host is returned. 

The Export-RDPersonalPersonalDesktopAssignment cmdlet exports the current associations between users and personal virtual desktops to a text file. The cmdlet supports the following parameters.

-CollectionName<String>

-ConnectionBroker<String>

-Path<String>

All new cmdlets support the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/p/?LinkID=113216).

 

Hardware Accelerated Graphics

In Windows Server 2016, the RemoteFX 3D Graphics adapter (vGPU) technology is being extended to support OpenGL and will support single user Windows Server 2016 guest VMs. The personal session desktops capability can be combined with the new vGPU capabilities to provide support for hosted applications that require accelerated graphics.