Windows OS Hub
  • Windows
    • Windows 11
    • Windows 10
    • Windows Server 2025
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
  • Microsoft
    • Active Directory (AD DS)
    • Group Policies (GPOs)
    • Exchange Server
    • Azure and Microsoft 365
    • Microsoft Office
  • Virtualization
    • VMware
    • Hyper-V
    • Proxmox
  • PowerShell
  • Linux
  • Home
  • About

Windows OS Hub

  • Windows
    • Windows 11
    • Windows 10
    • Windows Server 2025
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
  • Microsoft
    • Active Directory (AD DS)
    • Group Policies (GPOs)
    • Exchange Server
    • Azure and Microsoft 365
    • Microsoft Office
  • Virtualization
    • VMware
    • Hyper-V
    • Proxmox
  • PowerShell
  • Linux

 Windows OS Hub / Windows Server 2025 / Inactive TS Ports in Windows: Causes and Fixes

July 21, 2026

Inactive TS Ports in Windows: Causes and Fixes

One common issue when using an RDS/RDP terminal server with local user printers redirected via RD Easy Print mode is the steady growth of orphaned print ports labeled Inactive TS Ports from redirected printers over time. This can degrade the overall performance of the RDSH host, increase delays during RDP session logons, cause local printer redirection to fail for some users, and lead to other issues. In such cases, the Event Viewer may contain many timeout errors from the UmRdpService service (Remote Desktop Services UserMode Port Redirector).

If you’re experiencing printing issues with redirected printers on an RDS server, open the Print Management console (printmanagement.msc) and go to the Ports section. In my case, the list of print ports contains several dozen inactive ports, all of which have names like TS001 – Inactive TS Port.

Inactive TS Ports for redirected printer on Windows Server running RDS

When a printer is connecting via Remote Desktop Services, the Print Spooler creates a virtual TS port for it. If a user disconnects from their RDP session, the port will not be deleted automatically. Over time, the number of inactive TS ports can reach the tens or even hundreds, causing problems with the Windows print service.

The following approaches can be used to prevent printing problems on RDP servers:

  • Redirect only the default printer from the local machine to the user’s RDP session. This reduces the number of TS000 ports created on the terminal server host. To do this, enable the Group Policy option Redirect only the default client printer on the RDS host (Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Printer Redirection). GPO option: Redirect only the default client printer
  • Periodically reboot the RDS host to clear the orphaned print ports.
  • Manually remove inactive TS ports.

When trying to manually remove an inactive TS port from the Print Management console, the following error appears:

The selected port cannot be deleted. The operation is not supported.

Cannot delete Inactive TS port - operation is not supported

You can clear TS ports by manually removing their entries from the registry key HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses\{28d78fad-5a12-11d1-ae5b-0000f803a8c2}\##?#ROOT#RDPBUS#0000#{28d78fad-5a12-11d1-ae5b-0000f803a8c2}

As you can see, a separate subkey has been created for each port. They are named #TS001, #TS002, #TS003, and so on.

Inactive TS port in registry

The #TS001 registry subkey can be deleted entirely if the Port Description value in the Device Parameters subkey contains Inactive TS Port. After deleting the registry key, you must restart the Print Spooler service. This will temporarily disrupt printing from the terminal server.

Restart-Service Spooler

A PowerShell script is a more efficient way to remove print ports when there are dozens or hundreds of them:

# Delete inactive TS Ports on RDS host
$Gegevens = Get-ChildItem -Path 'HKLM:SYSTEM\CurrentControlSet\Control\DeviceClasses\{28d78fad-5a12-11d1-ae5b-0000f803a8c2}\##?#ROOT#RDPBUS#0000#{28d78fad-5a12-11d1-ae5b-0000f803a8c2}' -Recurse -ErrorAction SilentlyContinue
$DeviceParams = $Gegevens | Where-Object { $_.PSChildName -eq "Device Parameters" }
foreach ($ParamKey in $DeviceParams) {
try {
$PortDescription = (Get-ItemProperty -LiteralPath $ParamKey.PSPath -ErrorAction Stop)."Port Description"
if ($PortDescription -eq "Inactive TS Port") {
$PortKeyPath = Split-Path -Path $ParamKey.PSPath -Parent
$subkeydelete = $PortKeyPath -replace "Microsoft.PowerShell.Core\\Registry::", ""
$subkeydelete = $subkeydelete -replace "HKLM:", "HKEY_LOCAL_MACHINE"
Write-Host "Deleting subkey on $env:COMPUTERNAME => $subkeydelete" -ForegroundColor Cyan
Remove-Item -LiteralPath $PortKeyPath -Recurse -Force -ErrorAction Stop
}
} catch {
Write-Host "Error processing key $($ParamKey.PSChildName): $_" -ForegroundColor Red
}
Restart-Service Spooler -Force

Clear inactive TS print ports on the RDS server

This will clear any inactive print ports on the Remote Desktop server.

0 comment
0
Facebook Twitter Google + Pinterest
PowerShellWindows Server 2022Windows Server 2025
previous post
Add Wireless Wi-Fi Profiles on Windows Devices via Export/Import or GPO

Related Reading

How to Move (Migrate) Windows Shares to a...

February 26, 2026

SMB over QUIC: Mount File Share over Internet...

December 24, 2025

Automate Software and Settings Deployment with WinGet Configure...

November 20, 2025

Updating UEFI Secure Boot Certificates on Windows Devices...

April 27, 2026

Windows: Create (Install) a Service Manually

December 17, 2025

CrowdSec on Windows: From Installation to Threat Blocking

July 6, 2026

Stop Windows Server from Auto-Shutdown Every Hour

February 11, 2026

Mounting NFS Shares in Windows Using the Built-in...

March 26, 2026

Leave a Comment Cancel Reply

join us telegram channel https://t.me/woshub
Join WindowsHub Telegram channel to get the latest updates!

Recent Posts

  • Inactive TS Ports in Windows: Causes and Fixes

    July 20, 2026
  • Add Wireless Wi-Fi Profiles on Windows Devices via Export/Import or GPO

    July 13, 2026
  • CrowdSec on Windows: From Installation to Threat Blocking

    July 3, 2026
  • Manage Microsoft Store Apps with Store CLI in Windows 11 from Terminal

    July 2, 2026
  • Windows Sandbox on Windows 11: Enable, Configure, and Use

    June 10, 2026
  • How to Monitor Windows Machines with Zabbix

    May 26, 2026
  • Fixing Duplicate Security Identifier (SID) Issues in Windows

    May 25, 2026
  • Monitor a Folder for File Changes Using PowerShell and FileSystemWatcher

    May 15, 2026
  • Protect Windows Server from DDoS and Brute-Force Attacks with IPBan

    May 12, 2026
  • How to Force Uninstall ANY Stubborn Program in Windows

    May 7, 2026

Follow us

  • Facebook
  • Twitter
  • Youtube
  • Telegram
Popular Posts
  • Automate Software and Settings Deployment with WinGet Configure (DSC)
  • How to Hide (Block) a Specific Windows Update
  • Run Elevated Commands with Sudo on Windows 11
  • Fix: Slow Startup of PowerShell Console and Scripts
  • Pin and Unpin Apps to Taskbar in Windows 11 via PowerShell
  • Enable/Disable Random Hardware (MAC) Address for Wi-Fi on Windows
  • How to Pause (Delay) Update Installation on Windows 11 and 10
Footer Logo

@2014 - 2026 - Windows OS Hub. All about operating systems for sysadmins


Back To Top