{"id":262,"date":"2009-04-24T11:01:40","date_gmt":"2009-04-24T16:01:40","guid":{"rendered":"http:\/\/it.thelibrarie.com\/weblog\/?p=262"},"modified":"2010-05-06T09:46:31","modified_gmt":"2010-05-06T14:46:31","slug":"rdp-connection-limit-windows-server-2003","status":"publish","type":"post","link":"https:\/\/it.thelibrarie.com\/weblog\/2009\/04\/rdp-connection-limit-windows-server-2003\/","title":{"rendered":"RDP Connection Limit Windows Server 2003"},"content":{"rendered":"<p>One of the good things about Windows Server versus XP is the number of connections that you can have.  XP is limited to 10 connections, Server is not limited.  XP is limited to a single console connection and no RDP, Server is limited to a single console connection and two other RDP connections (total of 3).<\/p>\n<p>One of the bad things is that in order to get your server to allow more than 3 simultaneous connections you need to install, and license, terminal server.  Then you need to convert the server to run in Application Mode.  Lots o&#8217; fun.  Our company made the mistake of installing a proof-of-concept of terminal server on a non-domain controller and non-production server.  The server then died.  And in order to retrieve the licenses, we&#8217;d have to contact the fine folk over at Microshaft and explain the situation, then get the new license keys, and then create the new server, and then configure the other servers to run in application mode.  And hope it all works.<\/p>\n<p>So I did it the easy way &#8211; hack the termsrv.dll file.<\/p>\n<p><strong>FYI hacking Microsoft files is a breach of the terms of service agreement and license agreements with Microsoft.  Do so at your own risk.<\/strong><\/p>\n<p>First I will post how I went about &#8220;hacking&#8221; said file and how to implement in your own environment.<br \/>\nUnfortunately I can&#8217;t post the hacked file due to legal issues.  So there is no &#8220;hey, here&#8217;s the file if you&#8217;re lazy&#8221;.<\/p>\n<p>Now I&#8217;ve only tested this on Windows Server 2003 standard and enterprise, R2 and regular.  ALL 32bit.  I&#8217;m sure it&#8217;ll work on 64bit, but we have no needs to allow more than even the single console session on our 64bit servers.<\/p>\n<p>Download the following files:<br \/>\n<a href=\"http:\/\/it.thelibrarie.com\/utilities\/vpatch32.exe\">http:\/\/it.thelibrarie.com\/utilities\/vpatch32.exe<\/a><br \/>\n<a href=\"http:\/\/it.thelibrarie.com\/utilities\/2003tspatch.zip\">http:\/\/it.thelibrarie.com\/utilities\/2003tspatch.zip<\/a><\/p>\n<blockquote><p>Install the vpatch32 program (works on XP and Vista32\/64)<br \/>\nUnzip the 2003tspatch.zip to find a PatchData.pat file<br \/>\nCopy the termsrv.dll file from your server&#8217;s WINDOWS\\system32 folder to your desktop (easier to find, and you can&#8217;t patch an &#8216;in-use&#8217; file)<\/p><\/blockquote>\n<p>Open vpatchprompt.exe located in %programfiles%\\VPatch\\<br \/>\nThis will prompt you to find the PatchData.pat file you unzipped<br \/>\nThen it will prompt you to find the file you want to patch, in our case it&#8217;s the termsrv.dll residing on your desktop<br \/>\nThen choose a file name and the program will save the patched dll as this new name.  I chose termsrvNEW.dll to keep it easy to locate.<\/p>\n<p>Now the tricky part &#8211; because Windows has built-in protection for system files, we have to go about this in a trick-defeating manner.<\/p>\n<blockquote><p>On your server, locate the file in WINDOWS\\system32\\dllcache\\termsrv.dll<br \/>\nRename this file termsrvOLD.dll<br \/>\nNow locate the termsrv.dll file in WINDOWS\\system32\\<br \/>\nRename this file termsrvOLD.dll as well<br \/>\nCopy the termsrvNEW.dll to WINDOWS\\system32\\<br \/>\nRename this file to termsrv.dll<\/p><\/blockquote>\n<p>Windows will generally complain that a file has changed.  Let the OS know who&#8217;s boss and that you want to keep the file.  Now, reboot.<\/p>\n<p>Test &#8211; if anything breaks you can always undo the files by using your old one again.  If it all goes as planned, you can now have unlimited RDP connections to your server.<\/p>\n<p>Yay!<\/p>\n<p>***EDIT***<br \/>\nIf you change the files and Windows changes them back, that&#8217;s the built-in security DEP of Windows.  You may have to start in Safe-Mode (F8 before the black Windows Screen but after the BIOS) in order to edit these files.<\/p>\n<p>***EDIT PT 2***<br \/>\nBefore I could respond to a comment left by an anonymous internet troll, I did some extra research into the matter.<br \/>\nhttp:\/\/www.remkoweijnen.nl\/blog\/2008\/12\/09\/windows-2003-x64-terminal-server-patch\/ <--- apparently that will work on 64bit SP2 or R2 of Win2k3.  I haven't tested it, so I won't comment further unless I need to apply this patch as well.\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the good things about Windows Server versus XP is the number of connections that you can have. XP is limited to 10 connections, Server is not limited. XP is limited to a single console connection and no RDP, Server is limited to a single console connection and two other RDP connections (total of &hellip; <a href=\"https:\/\/it.thelibrarie.com\/weblog\/2009\/04\/rdp-connection-limit-windows-server-2003\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">RDP Connection Limit Windows Server 2003<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-262","post","type-post","status-publish","format-standard","hentry","category-microsoft"],"_links":{"self":[{"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/posts\/262","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/comments?post=262"}],"version-history":[{"count":5,"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/posts\/262\/revisions"}],"predecessor-version":[{"id":273,"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/posts\/262\/revisions\/273"}],"wp:attachment":[{"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/media?parent=262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/categories?post=262"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/tags?post=262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}