If you want to enable Remote Desktop Services (RDS) on Windows Server, the fastest and easiest way is by using the Install-WindowsFeature RDS-RD-Server PowerShell command. This command installs the Remote Desktop Session Host (RDSH) role service, allowing multiple users to connect remotely and run applications on the same server.
This guide explains what the command does, how to install the role correctly, verify the installation, troubleshoot common issues, and configure your server after installation.
What Is Install-WindowsFeature RDS-RD-Server?
Install-WindowsFeature is a PowerShell cmdlet used to install Windows Server roles and features.
The RDS-RD-Server feature installs:
- Remote Desktop Session Host
- Multi-user Remote Desktop support
- RemoteApp capability
- Session management components
- Required Windows dependencies
Instead of installing the role manually through Server Manager, administrators can complete the installation using a single PowerShell command.
Why Use PowerShell Instead of Server Manager?
PowerShell offers several advantages.
- Faster deployment
- Script automation
- Easier server provisioning
- Remote installation support
- Repeatable configuration
- Perfect for enterprise environments
Many system administrators prefer PowerShell because it can automate deployments across multiple servers.
Requirements Before Installation
Before installing RDS Session Host, verify the following:
- Windows Server 2016, 2019, 2022, or later
- Administrator privileges
- PowerShell running as Administrator
- Internet access (optional for updates)
- Windows Server fully updated
Basic Install Command
Open PowerShell as Administrator.
Run:
</> PowerShell Install-WindowsFeature RDS-RD-Server
PowerShell downloads and installs the Remote Desktop Session Host role.
Install with Management Tools
A better command includes the management tools.
</> PowerShell Install-WindowsFeature RDS-RD-Server -IncludeManagementTools
This installs:
- Session Host
- Administrative consoles
- PowerShell management modules
Restart Automatically After Installation
Some installations require a reboot.
Use:
</> PowerShell Install-WindowsFeature RDS-RD-Server -IncludeManagementTools -Restart
The server restarts automatically after installation.
Install Multiple Remote Desktop Roles
You can install several RDS components together.
Example:
</> PowerShell Install-WindowsFeature ` RDS-RD-Server, RDS-Licensing, RDS-Web-Access ` -IncludeManagementTools
This installs:
- Session Host
- Licensing
- RD Web Access
Verify Installation
Run:
</> PowerShell Get-WindowsFeature RDS*
Example output:
[X] RDS-RD-Server [X] RDS-Licensing [X] RDS-Web-Access
If you see Installed, the role was successfully deployed.
Check Installation Status
Another method:
</> PowerShell Get-WindowsFeature | Where Name -like "RDS*"
This displays every Remote Desktop Services feature available.
Export Installation Log
To save installation results:
</> PowerShell Install-WindowsFeature RDS-RD-Server ` -IncludeManagementTools ` -LogPath C:\Install-RDS.log
The log file helps diagnose installation problems.
Install on a Remote Server
PowerShell can install RDS remotely.
Example:
</> PowerShell Install-WindowsFeature RDS-RD-Server ` -ComputerName SERVER01 ` -IncludeManagementTools
This saves time when managing multiple Windows Servers.
Install Using Windows Server Manager
If you prefer a graphical interface:
- Open Server Manager
- Click Manage
- Add Roles and Features
- Role-based installation
- Select your server
- Expand Remote Desktop Services
- Select Remote Desktop Session Host
- Click Install
- Restart if prompted
PowerShell is still faster for administrators managing multiple systems.
Common Install-WindowsFeature Parameters
| Parameter | Purpose |
|---|---|
-Restart | Reboots automatically |
-IncludeManagementTools | Installs admin tools |
-ComputerName | Remote installation |
-LogPath | Saves installation logs |
-WhatIf | Simulates installation |
-Verbose | Displays detailed progress |
Verify Remote Desktop Service
After installation:
Run:
</> PowerShell Get-Service TermService
Expected output:
Running
If not:
</> PowerShell Start-Service TermService
Enable Remote Desktop
Sometimes Remote Desktop remains disabled.
Enable it:
</> PowerShell Set-ItemProperty ` -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' ` -name "fDenyTSConnections" ` -value 0
Then enable the firewall.
</> PowerShell Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
Configure Licensing
Every production Session Host requires licensing.
Steps:
- Install RD Licensing
- Activate Licensing Server
- Install CALs
- Configure Licensing Mode
- Specify Licensing Server
Eventually, users get grace period warnings without licenses.
Check Installed Features
</> PowerShell Get-WindowsFeature
To filter:
</> PowerShell Get-WindowsFeature | Where Installed
Useful when auditing Windows Server installations.
Remove the Session Host Role
If needed:
</> PowerShell Uninstall-WindowsFeature RDS-RD-Server
To remove management tools:
</> PowerShell Uninstall-WindowsFeature ` RDS-RD-Server ` -Remove
Troubleshooting Installation
1. Access Denied
Cause:
PowerShell isn’t running as Administrator.
Solution:
Run PowerShell using Run as Administrator.
2. Feature Name Not Found
Run:
</> PowerShell Get-WindowsFeature
Verify the exact feature name.
3. Restart Pending
Run:
</> PowerShell Restart-Computer
Then retry installation.
4. Installation Failed
Check:
</> PowerShell Get-WindowsFeature
Review:
C:\Windows\Logs\CBS\CBS.log
5. Remote Desktop Won’t Accept Connections
Verify:
</> PowerShell Get-Service TermService
Check:
- Firewall rules
- Remote Desktop enabled
- Licensing
- Network connectivity
Security Best Practices
After installation:
- Use Network Level Authentication (NLA)
- Keep Windows updated
- Enable strong passwords
- Use RD Gateway for internet access
- Restrict administrator access
- Enable Windows Firewall
- Monitor login events
- Use Multi-Factor Authentication when possible
Performance Tips
For better Session Host performance:
- Use SSD storage
- Allocate sufficient RAM
- Limit unnecessary startup applications
- Monitor CPU utilization
- Keep drivers updated
- Enable User Profile Disks if appropriate
- Configure Group Policies for RDS optimization
Install-WindowsFeature vs Server Manager
| Feature | Install-WindowsFeature | Server Manager |
|---|---|---|
| Speed | Very Fast | Moderate |
| Automation | Excellent | Limited |
| Remote Deployment | Yes | Yes |
| Scripting | Yes | No |
| Enterprise Ready | Excellent | Good |
| Bulk Deployment | Yes | No |
Conclusion
The Install-WindowsFeature RDS-RD-Server PowerShell command is the quickest and most reliable way to deploy the Remote Desktop Session Host role on Windows Server. Whether you’re configuring a single server or automating deployments across an enterprise, PowerShell provides a fast, repeatable, and script-friendly installation process.
After installation, remember to verify that the role is installed, enable Remote Desktop and firewall rules, configure RDS licensing, and apply security best practices such as Network Level Authentication (NLA) and regular updates. A properly configured RDS environment will provide secure, scalable, and efficient remote access for your users.



