"There are no available computers in the pool" means the RD Connection Broker found no session host that will take your login: every server in the collection is set to refuse new connections, is offline, or (in a personal desktop collection) has already been given to someone else. "You already have active Remote Desktop connections on this computer" is the simpler cousin: the Windows machine has no free session seat, usually because an old disconnected session is still sitting there. Both are fixed the same way at heart. Find the sessions that hold the seats, log off the dead ones, switch the host back to "allow new connections", and then set a time limit so disconnected sessions clean themselves up.
This guide covers Windows Server 2019, 2022 and 2025 and Windows 10 and 11. Every command and Group Policy path below is taken from Microsoft Learn and linked to it. We could not run Windows on our Linux test server for this one, so where we describe what you will see on screen, we say what Microsoft documents rather than pasting output we did not see ourselves. If you run a Windows VPS with us in Amsterdam, Dublin or Prishtina, all of it applies as written.
Which message do you have?
| What you see | What it usually means | Go to |
|---|---|---|
| There are no available computers in the pool | RD Connection Broker has a collection, but no host in it is accepting new logins for you | The pool fix |
| You already have active Remote Desktop connections on this computer | Every session seat is taken, often by your own disconnected session or a colleague's | Free a seat |
| This computer can't connect to the remote computer | One of the documented reasons is a connection limit set in Group Policy or on the RDP-TCP listener | Group Policy limits |
| No Remote Desktop License Servers available to provide a license | The 120-day RDS licensing grace period has ended | Licensing, not sessions |
Step 1: see who is holding the seats
Start here whatever the message says. If you cannot get in at all, connect with mstsc /admin, which Microsoft describes as connecting "to a session for administering the server" (mstsc). Once you are in, open Command Prompt as Administrator (Start, type cmd, right-click, Run as administrator).
:: Command Prompt as Administrator, on the Windows server
query session
query session lists every session on the machine, not only active ones, and marks yours with a > sign (query session). qwinsta is the same command under its old name (qwinsta), so any forum post that tells you to run qwinsta is asking for exactly this list. The columns are SESSIONNAME, USERNAME, ID, STATE, TYPE and DEVICE. You need two of them: the ID number and the STATE.
If you want to see who has been idle and for how long, query user is friendlier. Microsoft lists what it returns: user name, session name, session ID, state (active or disconnected), idle time in minutes since the last key press or mouse move, and logon time (query user).
:: Command Prompt as Administrator
query user
A disconnected session with a logon time three weeks ago and nobody remembering it is your culprit. Remote Desktop keeps disconnected sessions with their programs running, and by default it keeps them for an unlimited time (Policy CSP, TS_SESSIONS_Disconnected_Timeout_2). Closing the Remote Desktop window with the X does not sign you out. It disconnects you, and the seat stays taken.
Warn, then log off
Logging someone off ends their programs and throws away anything unsaved. Microsoft's own advice on the logoff page is to warn the user first with msg (logoff). A message to session 3 that stays on screen for two minutes:
:: Command Prompt as Administrator - replace 3 with the ID from query session
msg 3 /time:120 "Server maintenance: please save your work, you will be signed out in 2 minutes."
The /time value is in seconds, and without it the message disappears after 60 seconds (msg). Note that msg reaches only an active session. Somebody who is disconnected will not see it, which is usually the point: nobody is there.
Then log the session off by its ID:
:: Command Prompt as Administrator
logoff 3 /v
After a logoff, "all processes end and the session is deleted from the server", you need Full Control permission to log off other users, and the console session cannot be logged off this way (logoff). /v just prints what it is doing.
When logoff does not work: reset the session
A session that hangs in a strange state sometimes refuses a clean logoff. That is what reset session is for, and Microsoft says to use it "only when it malfunctions or appears to have stopped responding" (reset session). rwinsta is its old name and does the same thing (rwinsta).
:: Command Prompt as Administrator - deletes session 3 without saving anything in it
reset session 3 /v
:: same thing with the old name
rwinsta 3
Run query session again. If the dead session is gone, try your normal Remote Desktop connection. For a one-server VPS without the Remote Desktop Services roles, that is usually the whole fix for "you already have active Remote Desktop connections".
How to fix "There are no available computers in the pool"
This message comes from a Remote Desktop Services deployment, the setup you get when someone runs "Remote Desktop Services installation" in Server Manager. In that setup, RD Connection Broker "manages incoming remote desktop connections to RD Session Host server farms", balances new logins across the collection's servers, and sends a user back to the server that still holds their disconnected session (RDS roles). The broker shows "no available computers" when it has nowhere to send you. On a single Windows VPS where the broker, web access and session host all live on one machine, the pool is that one machine, so one setting is enough to cause it.
Check these in order. They go from most common to least.
1. A host is set to refuse new connections (drain mode)
An admin who puts a server in maintenance and forgets to switch it back is the classic cause. In Server Manager, open Remote Desktop Services, then Collections, click your collection, and look at the HOST SERVERS tile. A server whose "Allow New Connections" column says False takes no new logins. Right-click it and choose Allow New Connections.
The same check in PowerShell, run as Administrator on the broker. Replace the collection and broker names with yours; Get-RDSessionCollection lists the collection names if you do not know them.
# PowerShell as Administrator, on the RD Connection Broker
Get-RDSessionHost -CollectionName "My Collection" -ConnectionBroker "rdcb.example.local"
# allow new logins again on one host
Set-RDSessionHost -SessionHost "rdsh1.example.local" -NewConnectionAllowed Yes -ConnectionBroker "rdcb.example.local"
Get-RDSessionHost lists the session hosts in a collection (Get-RDSessionHost). Set-RDSessionHost sets "whether each server can accept new connections", and -NewConnectionAllowed accepts Yes, NotUntilReboot and No (Set-RDSessionHost).
There is a second, older switch on the session host itself. change logon can disable or drain logons, and /drain "disables logons from new client sessions, but allows reconnections to existing sessions" (change logon). Someone with a disconnected session can still get back in, while everyone else sees the pool error. Check and fix it on each session host:
:: Command Prompt as Administrator, on each RD Session Host
change logon /query
change logon /enable
Microsoft notes that logons are switched back on when the server restarts, which is why "it worked after a reboot" is a common clue that drain mode was the cause.
2. Your old session is on a host that is not answering
The broker remembers where your disconnected session lives and sends you back there. If that host is shut down, rebooting or broken, the reconnect fails even though other hosts have room. List every session in the deployment, find yours, and log it off from the broker:
# PowerShell as Administrator, on the RD Connection Broker
Get-RDUserSession -ConnectionBroker "rdcb.example.local" |
Select-Object UserName, HostServer, UnifiedSessionId, SessionState
# end one stale session (host and ID from the list above)
Invoke-RDUserLogoff -HostServer "rdsh1.example.local" -UnifiedSessionID 2 -Force
Get-RDUserSession lists user sessions in the broker's collections (Get-RDUserSession), and Invoke-RDUserLogoff ends one by host server and unified session ID; -Force skips the confirmation prompt (Invoke-RDUserLogoff). If the host is simply powered off, start it first: the broker cannot log off a session on a machine it cannot reach.
3. A personal desktop collection has no free desktop left
In a personal session desktop collection every user gets their own session host. With -AutoAssignUser, new users are handed an unassigned host, and "if there are no unassigned session hosts in the collection, the user will see an error message" (Create an RDS session collection). The fix is to add a host to the collection or to remove the assignment of someone who left. A pooled collection does not have this problem, because users go to "the next available session host".
4. Restart the broker service, as a last resort
On Microsoft Q&A, a Windows Server 2019 VDI admin reported the pool error coming back from time to time and getting users in again by stopping and starting the connection broker, with no answer giving a permanent fix (Microsoft Q&A, 2021). It is a workaround, not a cure. If you need it more than once, go back to checks 1 and 2 and look at the broker's event logs under Applications and Services Logs, Microsoft, Windows, the TerminalServices folders.
Do you even need a Connection Broker?
On a VPS used by one or two people, often not. Windows Server already allows two simultaneous Remote Desktop connections for administration without any RDS CALs (Microsoft Learn). The broker, the collection and the pool only appear because the Remote Desktop Services roles were installed, and those roles also start the 120-day licensing clock. Our RDS grace period guide shows how to remove the roles cleanly and keep the two free connections, which makes this error impossible because there is no pool any more.
Step 2: stop it coming back with Group Policy
All the settings below live in the Local Group Policy Editor (gpedit.msc) under Computer Configuration, Administrative Templates, Windows Components, Remote Desktop Services, Remote Desktop Session Host. On a domain, set them in a GPO instead. They write to the registry key HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services (Policy CSP - ADMX_TerminalServer).
| Policy (exact name) | Folder under Remote Desktop Session Host | What to set |
|---|---|---|
| Set time limit for disconnected sessions | Session Time Limits | Enabled, for example 1 hour. Disconnected sessions are then deleted after that time instead of never. |
| Restrict Remote Desktop Services users to a single Remote Desktop Services session | Connections | Enabled, so a returning user reconnects to their own session instead of opening a second one. |
| Limit number of connections | Connections | Check it is not set lower than you think. 999999 means unlimited. |
The disconnected session limit is the one that prevents most of these errors. Microsoft says that with it enabled, "disconnected sessions are deleted from the server after the specified amount of time", that it does not apply to the console session, and that if both the Computer and User Configuration versions are set, the Computer one wins (Policy CSP). Pick a time longer than a lunch break if people leave programs running on purpose; an hour or two is common. On an RDS deployment, the collection has its own setting: Set-RDSessionCollectionConfiguration takes -DisconnectedSessionLimitMin and -IdleSessionLimitMin (Set-RDSessionCollectionConfiguration), or use the collection's Properties, Session page in Server Manager.
Single session per user stops the slow pile-up where one person has a session from the office PC and another from a laptop. With it enabled, users "will be restricted to a single session (either active or disconnected) on that server", and if they left the session disconnected they automatically reconnect to it next time. With it disabled, users may open "unlimited simultaneous remote connections" (Policy CSP, TS_SINGLE_SESSION). Its registry value is fSingleSessionPerUser. If you prefer the command line to gpedit, this sets the same policy value (1 = one session per user, 0 = allow several):
:: Command Prompt as Administrator
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fSingleSessionPerUser /t REG_DWORD /d 1 /f
gpupdate /force
reg add writes the value and gpupdate /force reapplies policy. New logins follow the new rule; sessions already open stay as they are until they end. A domain GPO that says otherwise will overwrite your local value at the next refresh.
One thing this policy does not do: it does not add seats. It controls how many sessions one user may hold, not how many people can be connected. That number is set by the Remote Desktop roles and licensing.
Limit number of connections is the setting behind "the server is busy" style refusals. Microsoft notes that RD Session Host servers allow unlimited sessions by default, that Remote Desktop for Administration allows two, and that 999999 means unlimited (Policy CSP, TS_MAX_CON_POLICY). Its troubleshooting article gives the full path as Local Computer Policy, Computer Configuration, Administrative Templates, Windows Components, Remote Desktop Services, Remote Desktop Session Host, Connections, Limit number of connections, and adds that if Maximum connections looks greyed out on the RDP-TCP listener, this policy is the reason (Microsoft Learn). Raising it above two on a server without the session host role and RDS CALs does not give you more seats.
Windows 10 and Windows 11: one seat, full stop
Windows 10 and 11 Pro, Enterprise and Education can accept Remote Desktop connections; Home cannot (Microsoft Learn). What they do not do is run several people at once. Microsoft's Azure Virtual Desktop FAQ describes Windows 10 and 11 Enterprise multi-session as the edition that "allows multiple concurrent interactive sessions" and adds "Previously, only Windows Server could do this" (Azure Virtual Desktop FAQ). That edition is for Azure Virtual Desktop, not for a normal VPS.
So on a Windows 10 or 11 machine, "you already have active Remote Desktop connections" means one thing: someone is signed in, either at the console or over Remote Desktop, possibly you from another device. query session and logoff work on Windows 10 and 11 too; the Microsoft pages above list both. The single-session and connection-limit policies will not add a second seat on these editions. If two people need to work at the same time, that is a Windows Server job. You will find guides to patch Windows system files so the desktop editions accept more sessions; they break Microsoft's licence terms and tend to stop working after the next cumulative update, so we leave them out.
When the real problem is licensing
If the error mentions licence servers rather than sessions or computers, none of the steps above will help. "The remote session was disconnected because there are no Remote Desktop License Servers available to provide a license" means the RD Session Host role was installed, its grace period ended, and no licence server is set. Our guide to the Remote Desktop licensing grace period on Windows Server 2025 shows how to check the days left, how to get in with mstsc /admin, and the two legal ways out. The same logic applies to 2019 and 2022, with the CAL version matching the server.
Frequently asked questions
What does "There are no available computers in the pool" mean?
RD Connection Broker received your login but found no session host in the collection that would accept it. The usual causes are a host set to refuse new connections (drain mode), your old disconnected session sitting on a host that is offline, or a personal desktop collection with no unassigned desktop left.
How do I log off a disconnected Remote Desktop session?
Open Command Prompt as Administrator on the server, run query session to find the session ID, then run logoff followed by that ID, for example logoff 3. If the session will not end, use reset session 3, which also exists under the old name rwinsta.
What is the difference between qwinsta and query session?
None. Microsoft documents qwinsta as the same command as query session, and rwinsta as the same command as reset session. They are older names kept for compatibility.
Where is the single session per user setting?
In the Local Group Policy Editor under Computer Configuration, Administrative Templates, Windows Components, Remote Desktop Services, Remote Desktop Session Host, Connections: "Restrict Remote Desktop Services users to a single Remote Desktop Services session". It writes fSingleSessionPerUser under HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services.
How many people can use Remote Desktop on Windows Server at the same time?
Two, for administration, without RDS CALs. More than two needs the RD Session Host role and an RDS CAL for each user or device. Windows 10 and 11 allow one interactive session at a time.
Why do disconnected sessions stay forever?
Because that is the default. Remote Desktop keeps disconnected sessions, with their programs running, for an unlimited time unless "Set time limit for disconnected sessions" is enabled in Group Policy or a disconnected session limit is set on the RDS collection.
A short routine that prevents both errors
Sign out with Start, your user icon, Sign out, instead of closing the Remote Desktop window, unless you mean to leave programs running. Set a disconnected session time limit on day one. If you never need more than two people on the server, do not install the Remote Desktop Services roles at all: no broker, no pool, no grace period. Our guide to securing RDP on Windows Server covers the first connection and locking down port 3389, and if you work from Linux instead, xrdp on a Linux VPS gives you a remote desktop there.
RS Computers runs Windows Server 2019, 2022 and 2025 and Windows 10 and 11 on VPS Mini and every VDS plan, in Amsterdam, Dublin and Prishtina, with your own licence key. Compare them on the Windows VPS page, or message us on Telegram if a session error has locked you out and you want a hand getting back in.