How to Enable Concurrent RDP Admin Sessions on Windows Server 2008 Without Disconnecting Existing Users


2 views

Many sysadmins face this exact scenario: needing multiple simultaneous administrator logins via Remote Desktop on Windows Server 2008. By default, Windows Server only allows one console session per user account, kicking off existing connections when new ones attempt authentication.

The solution lies in modifying Terminal Services settings. Run this command as Administrator to enable concurrent sessions:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f

Additionally, adjust the limit for RDP connections (default is 2):

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v MaxInstanceCount /t REG_DWORD /d 9999 /f

For better session tracking, use PowerShell to monitor active connections:

query session /server:localhost
Get-WmiObject -Class Win32_TSLogonSetting -Namespace root\cimv2\TerminalServices | 
  Where-Object {$_.TerminalName -eq "RDP-Tcp"} | 
  Select-Object TerminalName, ActiveSessionLimit

For domain environments, configure these GPO settings:

  • Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections: "Restrict Remote Desktop Services users to a single Remote Desktop Services session" - Disabled
  • Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections: "Limit number of connections" - Set appropriate value

When allowing multiple admin sessions, implement these security measures:

# Enable session logging
auditpol /set /subcategory:"Logon" /success:enable /failure:enable
auditpol /set /subcategory:"Logoff" /success:enable

If sessions still disconnect unexpectedly, check these common issues:

# Verify Terminal Services licensing mode
(Get-WmiObject -Class Win32_TerminalServiceSetting -Namespace root\cimv2\TerminalServices).TerminalServerMode

# Check for conflicting GPOs
gpresult /h ts_settings.html

In Windows Server 2008's default configuration, Remote Desktop Services enforces a single active session per user account for security reasons. When a second administrator attempts to connect using the same credentials, the server either denies access or disconnects the existing session. This behavior persists even with sufficient CALs (Client Access Licenses).

We need to modify the Terminal Services settings to enable concurrent sessions:

# PowerShell script to modify RDP-Tcp properties
$path = "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server"
Set-ItemProperty -Path $path -Name "fSingleSessionPerUser" -Value 0

# For Windows Server 2008 R2 only:
Set-ItemProperty -Path "$path\WinStations\RDP-Tcp" -Name "UserAuthentication" -Value 0

These registry changes can also be implemented via Group Policy:

  1. Open gpedit.msc
  2. Navigate to: Computer Configuration → Administrative Templates → Windows Components → Terminal Services → Terminal Server → Connections
  3. Enable "Restrict Terminal Services users to a single remote session" and set to Disabled

For environments where modifying registry isn't preferred, create separate admin accounts with identical privileges:

# Batch script to create multiple admin accounts
@echo off
for /L %%i in (1,1,5) do (
  net user Admin%%i P@ssw0rd%%i /add
  net localgroup Administrators Admin%%i /add
)
  • Audit all concurrent admin sessions regularly
  • Implement session timeouts via Group Policy
  • Consider using Restricted Admin Mode for sensitive operations
  • Monitor Event Viewer logs (Application and Services Logs → Microsoft → Windows → TerminalServices-*)

After making changes, verify the configuration:

# Check current session settings
qwinsta /server:localhost

# Expected output should show multiple sessions possible
REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser