Command Line Hack for: "Terminal Server Has Exceeded the Maximum Number of Allowed Connections"
If you’ve worked on a network with Windows servers, you’ve encountered this error message at least 37,000 times:
“The terminal server has exceeded the maximum number of allowed connections. The system can not log you on. The system has reached its licensed logon limit. Please try again later.”
This problem happens because Windows only allows two remote terminal services connections when you are in administrative mode, and you’ve either got two people already on that server, or more likely, you’ve got a disconnected session that still thinks it is active.
The problem with this error is that you have to actually get on the server console to fix the problem if the server isn’t in a domain. (If you are in a domain, then just open Terminal Services Manager and log off or disconnect the sessions)
To use the command line hacks, you might need to run them from another server if your local operating system doesn’t include the commands. You will also need to make sure that you are logged onto that server with an administrative account. The easiest way to do that is just map a drive (you don’t have to use a drive letter unless you choose to)
net use /user:[username] \\servername\share
Here’s a command line hack that you can use to figure out what sessions are connected to the server. Note that you could substitute the IP address for the server name.
query session /server:servername
Sample output:
Now we know that the session ID of the offending session is 2. We can use that in the next step, which is using the reset command to log off that user.
reset session [ID] /server:servername
Sample:
This command won’t display any output, but when we run the query command again, we should see that the session has now been disconnected:
Note: Thanks to my friend Todd for this one.

Daily Email Updates
You can get our how-to articles in your inbox each day for free. Just enter your name and email below:




Great help for me to identify this command
That is a great tip. I usually just use “mstsc /v:servername /console” to connect to the console session, and then I can close the bad sessions.
Another tip, if you have sql server and have enabled xp_cmdshell you can use these same tips via query analyser.
Very good solution for such a problem.
Thanks for sharing such command lines.
Thanks! It saved me a trip to the data center!
Hi Folks,
I really do run into this problem about “37000″ times a week. This solution is a life saver.
Thanks a bunch!
Wayne
Cool solution mate.
Thanks!
Just hit bed and got a call from a customer about this. You saved my night of sleep.
Or…
Just type in tsadmin in the run or command prompt, connect to the server in question, and disconnect, reset, or log off the offending/stale session.
Thanks for this solution. Excellent.
You saved from going to dc’s control panel, and rebooting my server each time i have this issue.. Thanks
Hi
My fellow geeks i’m a white South-African and this line just saved my ass from being fired at work.
THANKS A LOT !!!!!
Thanks. That saved me a lot of hassle.
Awesome, guys! It is such a needed tip!
When i type in the commands, my XP Pro cmd tells me query is not recognized
Any idea why?
Great, it saved our life at 12:00 am, we have a migration work on production and got this error, your article saved us. Thanks
Hi,
This tip is really very very useful. It has helped my Data migration, restore and backup
Thanks, It worked like charm.
Excellent tip. Much more useful than the “Start -> Run -> mstsc -v:x.x.x.x /console” tip that is floating around the Net. Our systems use specific admin users and I would’ve had to figure out how to login to the relevant server from my Mac, in my Windows VM image, as a normal user, using “Run As…”, to launch the console on the server… just too much when I needed it.
By contrast, your tip explained the need to get onto another server having the tools, and the exact commands to use and output to expect. Neat, concise, and working. Thanks.
When using Administrative mode, Windows Server 2003 allows 2 concurrent connections plus a console connection. To access the console connection, type mstsc /console from Start->Run.
Really kewl..
thanks a ton…
Thanks for documenting this tip. You just saved me 30 minutes of driving, and kept the world a little greener. :>
This is amazing. But…I don’t want to kill someone else’s connection just to get on (it’s okay if the connection has been inactive for a while, but what if someone’s using it?). Isn’t there a way of just allowing more connections?
Excellent tips – clean and well-presented. For me, the query and reset commands were found in %systemroot%\system32\dllcache (XP Pro SP3). Here’s a batch file that will loop through these commands to your satisfaction:
@ECHO OFF
SET EXEC=%SYSTEMROOT%\system32\dllcache
SET SERVER=
SET /P SERVER=Enter IP or server name: %=%
SET USER=
SET /P USER=Enter user name: %=%
SET PASS=
SET /P PASS=Enter password: %=%
NET USE \\%SERVER% /user:%USER% %PASS%
:START
%EXEC%\query session /server:%SERVER%
SET SID=
SET /P SID=Enter session ID to reset: %=%
%EXEC%\reset session %SID% /server:%SERVER%
SET CONT=
SET /P CONT=Reset more sessions? %=%
IF /i “%CONT%” EQU “y” GOTO START
SET REMOTE=
SET /P REMOTE=Launch remote desktop? %=%
IF /i “%REMOTE%” NEQ “y” GOTO END
mstsc /v:%SERVER% /f
:END
nice Web
.
Xpoision RulZz
Can’t tell you how much I love this article, thanks a buck.
Excellent, saved a lot of pain and frustration.
This tip is ideal for two main reasons:
1. When the console session is in use, “mstsc -v:x.x.x.x /console” is of no help.
2. When the server in question is not a member of your domain (vendor box,) tsadmin is of no help, either. Unless there is a special trick to running that one with alternate credentials and having it actually open (tried, failed on my workstation.)
Add to that the fact that our physical console was unresponsive (untimely and unrelated issue) and this really saved the day.
Hi
I can,t access to QUERY SESSION command!!!
why?
Thanks for this excellent tips.
Helped me a lot! No need of the IT guys anymore in this area……..
I couldnt reach the query command myself from the Windows XP client operative system neither.
Though from Windows 2000 Server no problems!!!!
Good stuff mate, thx for that.
Maybe prevention would help also… Just configure your server’s Remote Sessions to logout after x idle minutes, etc…? Way better than having to reset sessions all the time…
I have written a GUI that does this for you if anyone is interested. It allows you to query a server by name or IP and kill a specified user. It can be found at: http://www.jonathanrhodes.net/
Sweet!
I have tried but still failed to end a session on my web server, port 80 is open and 3389. I just can’t get connected… I’d rather not have to fly over to Spain just to re-boot…
I try:
net use /user:Administrator \\193.171.XXX.XXX\c
I get:
System error 67 has occurred.
The network name cannot be found.
I have tried using c$ , d, d$
And every name of every Microsoft share name there is still no joy.
This would be REALLY handy if I could get it to work.
Any ideas?
Simon please contact me with the email addy on my website, I will try to help you work it out or find an additional solution.
Very nice … good job
Nice one. Our finance server is the only machine not on the domain, due to running such an old version of the software. A developer let his session get idle, which a local policy typically resets, but for some reason got stuck.
Due to this not being on the domain, Terminal Services Manager, and qwinsta/rwinsta didn’t list any of the sessions.
I totally forgot also that once you authenticate to a server over a command line session, you stay authenticated to that server until the command line closes.
I was half dressed and almost out the door when I looked this up. Worked great. I got to go back to bed and not be angry the next day over a midnight Data Center mission.
Thanks!
Thanx a ton is this is really cool
Nice one Hats off
Awesome. I wasnt able to do a console rdc on my issue so this came in real handy. I just had to connect to a server with the “query” command and then everythign worked great
You can use Qwinsta /server (Server name / IP) to query sessions and use rwinsta /server (Server name / IP) (session ID) to reset.
Qwinsta /server msnexchange (replace msnexchange with the server name or IP)
Rwinsta /server msnexchange 1 (replace msnexchange with the server name or IP and 1 with the session ID which you wanted to disconnect.
Njoy
Really this command is very help to the new user as well as experience.
Thanks
I tried this tool by JR Software.. its worked just puurrfect!!
Great tip!
Thanks and grateful.
Run: mstsc -v:0.0.0.0 /f -console /admin
How do you log out of your command line session when you are done?
WOW! Thanks. saved me an international trip to our production plant.
Thank you so much
this tip saved me. plus, i enjoyed doing it in the command line =)
Thank You so much!
if you have an xp machine and only one server where you need to get on to. Use the psexec tool (download it from the microsoft site)
so
start a cmd window on your xp
use the command net use /user:administrator \\server01\c$
then
psexec \\server01 cmd
and then the query session
and reset session
greetz
Thanks! This was exactly what I was needing.
Thanks.. you made my day..
What a nice why of solving issues, very helpful.
Cheers.
very great tip.
and it works over ssh, so it can be done from any linux station connected to the windows machine
thank you very much
Another way to do this is tsdiscon. See http://support.microsoft.com/kb/321705
I work for the US army and this tip just saved our country from trouble. Thanks!
This was very useful, simple and effective documentation.
Thank you.
It is bast for us
I totally forgot also that once you authenticate to a server over a command line session, you stay authenticated to that server until the command line closes.
I was half dressed and almost out the door when I looked this up. Worked great. I got to go back to bed and not be angry the next day over a midnight Data Center mission.
Thanks!
OMG ! This is amazing guys! Thanks a lot
Thanks for command line code. Save me a trip to the ofice.
Query session is not recognized as an internal or external command, operable program or batch file.
what does this mean?
it is nice and bad there is too many ordering for hacking and command like matrix code this is my email if any body wanna a help in hacking programs and this is my email x-top.s@hotmail.com
thank you so much for the tip !
“query session” and “reset session” commands saved my life.
best regards
marcos
Really this solution helped me a lot
thank you ..this solution really helped me a lot
This has saved my life soooo many times over the past few years – thought I better stop by and send my thanks..
Thanks a lot. It saved me from a nightmare….
Thanks .. it still works like a charm
Thanks a lot guys!
how to hack a clients to server in command line.
I used this tool Remote TS Manager by JR Software..it works perfect!! even from a XP system!! Thanks Jon ..you saved lot of my time running those commands..:)