I had a use case of quickly showing off the RDS capabilities of Morpheus VDI. In my lab environment I now spin up Windows 2016/2019 RDS servers utilizing Instance types and easily add additional servers as required.
Below you will find the steps and screens I use to configure a test RDS experience. Additional concepts around VDI or user policies/GPO can be found in my previous post here:
Standard vs. RDS VDI Pools
Standard VDI pools consist of servers meant for 1:1 allocation with a user. This does not mean the server has to be dedicate to specific user (persistent pools), rather a set of users can lay temporary claim to a pool of servers (ephemeral).
RDS VDI pools are meant for multiple users connecting to the same system. This optimizes compute resources and usually allows for complex applications to be shared/presented on remote servers, rather than installed on multiple end user systems.
Instance Type
This is the structure of my custom Instance Type for provisioning the server.
Instance Type
Layout
Node Type
Tasks & Workflows
Workflow
Tasks
Here are the tasks I use in the order presented in the Workflow. Some of these are optional, but ideal for me to get a lab up and running fast.
$ProgressPreference = 'SilentlyContinue'
Install-WindowsFeature Remote-Desktop-Services, RDS-RD-Server, RDS-Licensing –IncludeManagementTools
start-sleep -seconds 120
New-RDSessionDeployment -ConnectionBroker "<%=server.fqdn%>" -SessionHost "<%=server.fqdn%>"
New-RDSessionCollection -CollectionName "Windows" -SessionHost "<%=server.fqdn%>"
New-RDRemoteApp -CollectionName "Windows" -DisplayName "Notepad" -FilePath "C:\Windows\System32\Notepad.exe"
New-RDRemoteApp -CollectionName "Windows" -DisplayName "PowerShell" -FilePath "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
New-RDRemoteApp -CollectionName "Windows" -DisplayName "Internet Explorer" -FilePath "C:\Program Files\internet explorer\iexplore.exe"
New-RDRemoteApp -CollectionName "Windows" -DisplayName "Remote Desktop" -FilePath "C:\Windows\System32\mstsc.exe"
function Disable-IEESC {
$AdminKey = "HKLM:SOFTWAREMicrosoftActive SetupInstalled Components{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}"
$UserKey = "HKLM:SOFTWAREMicrosoftActive SetupInstalled Components{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}"
Set-ItemProperty -Path $AdminKey -Name "IsInstalled" -Value 0 -ErrorAction Ignore
Set-ItemProperty -Path $UserKey -Name "IsInstalled" -Value 0 -ErrorAction Ignore
Stop-Process -Name Explorer
Write-Host "IE Enhanced Security Configuration (ESC) has been disabled." -ForegroundColor Green
}
Disable-IEESC
Configure the RDS Pool
Navigating to Tools > VDI Pools, I selected a RDS pool and created with the following settings. Note, I can attach Morpheus managed RDS Instances that host the applications or shared desktop system. Also, I can control the Max Session that each system can contain. This ensures performance as well as RDS license compliance.
User VDI
Heading over to the VDI persona by clicking on my User at the top right and selecting VDI I’m presented any of the VDI pools or favorited servers to console into. In the image, I’ve selected my RDS pool and see the Desktop, as well as any presented applications on the pool.
There you have it! Since Morpheus doesn’t require a thick client, I can launch my desktop directly in my browser.