作在工作中,经常需要远程连接到服务器上,然而在公司里,老总、同事都需要连接到服务器上的,而默认的Win2003操作系统最大连接数是2,这样一来,问题也就来了,常常遇到“终端服务器超出最大连接数”,导致无法正常登陆服务器。下面讲解在网上流传的几种方法,来解决这一问题。 解决方法一:用“注销”方式退出远程桌面,而不是直接关闭窗口; 解决方法二:踢出已经断开的连接用户; 1、首先通过各种方法连接到服务器上(telnet); 2、上去后,查看登陆用户列表。输入命令:query user; 这样你就可以看出有何不同来啦,可以根据你的具体情况而定的。ID为0的用户就是本地登陆的,而在State中看提示,当提示为已断开,则说明用户已经断开还占用着系统资源和通道,这样就可以把该用户踢掉。输入logoff ID,即踢除相应ID的用户。 解决方法三:限制已断开连接的会话存在时间;(推荐) 一般情况下,我们在维护远程服务器时,不可能长时间在线,但是系统默认的却是只要登录就不再断开。因此,我们可以修改这一默认设置,给它指定一个自动断开的时间即可。 可以在 Windows 2003 服务器上通过组策略中设置一下来解决问题:单击“开始 → 运行”,输入“gpedit.msc”,回车后打开组策略窗口,然后依次定位到“计算机配置 → 管理模板 → Windows 组件 → 终端服务 → 会话”,然后在右侧窗口中双击“为断开的会话设置时间限制”,在打开的窗口中将“结束断开连接的会话”时间设置为5分钟,或者设置为空闲就断开。或在远程服务器上打开“运行”窗口,输入“tscc.msc”连接设置窗口。然后双击“连接”项右侧的“RDP-Tcp”,切换到“会话”标签,选中“替代用户设置”选项,再给“结束已断开的会话”设置一个合适的时间即可。 解决方法四:增加连接数量,即设置最大连接数再多些; 默认情况下允许远程终端连接的数量是2个用户,我们可以根据需要适当增加远程连接同时在线的用户数。 单击“开始→运行”,输入 “gpedit.msc”打开组策略编辑器窗口,依次定位到“计算机配置 → 管理模板 → Windows 组件 → 终端服务”,再双击右侧的“限制连接数量”,将其TS允许的最大连接数设置大一些即可。 经过上面两个配置(方法三&方法四),基本上就可以保证远程终端连接时不再受限。但仍有人反映,当前同时只有一个用户进行连接,却提示超出最大允许链接数,这又是什么原因呢?出现这种情况是因为操作不当所造成的。在上一个帐户登录远程桌面后退出时,没有采用注销的方式,而是直接关闭远程桌面窗口,那么导致该会话并没有被释放,而是继续保留在服务器端,占用了连接数,这样就会影响下一个用户的正常登录了。 解决方法五:限制用户会话数; 对Terminal Services进行限制,使得一个用户仅仅能够连接一次。对于Windows Server 2003,请在Terminal Services Configuration(Terminal Services配置)中将“限制每位用户只有拥有一个会话”(Restrict each user to one session)设置为“是”(Yes)。此外,您可以将“限制终端服务用户使用单个远程会话”组策略设置为“启用”。 注意:版本不一样解决的方法有异! A:这是因为Windows 2003中设置了最大允许连接数限制,而你每次连接后可能没有注销而是直接关闭,导致连接数超过了最大连接数。你可以在Windows 2003 服务器上通过组策略中设置一下来解决问题:单击“开始→运行”,输入 “gpedit.msc”,回车后打开组策略窗口,然后依次定位到“计算机配置 → 管理模板 → 终端服务 → 会话”,然后在右侧窗口中双击“为断开的会话设置时 间限制”,在打开的窗口中将“结束断开连接的会话”时间设置为5分钟。最好的解决方法还是你每次断开连接时通过注销的方式。 B:经常多人管理服务器的朋友一定遇到过当自己终端连接远程计算机的时候却提示“终端连接超出了最大连接”的提示吧?这是因为windows2003仅支持2个终端用户的登陆。当这种情况出现后,多数人选择的是给机房打电话进行重启服务器。可是带来的损失也是显而 易见的。那么我们有什么办法来解决呢?方法当然是有的。我们只需要在一台2003的机器上运行“tsmmc.msc”就可以打开远程桌面连接,在这里我们 添加一个新的连接,输入对方的IP地址帐号和密码后就可以成功登陆到对方的桌面中,这时可以再踢下一个用户。就可以解决终端连接数超过最大的问题。 C:开始 → 控制面版 → 授权里面更改连接数。 在命令行: mstsc /console /v:你的服务器IP:远程端口 例如 :mstsc /console /v:222.222.215.222:3389 win2K/win2003终端服务器超出最大允许连接数解决之道全攻略 原因:用远程桌面链接登录到终端服务器时经常会遇到“终端服务器超出最大允许链接数”诸如此类错误导致无法正常登录终端服务器,引起该问题的原因在于终端服务的缺省链接数为2个链接,并且当登录远程桌面后如果不是采用注销方式退出,而是直接关闭远程桌面窗口,那么实际上会话并没有释放掉,而是继续保留在服务器端,这样就会占用总的链接数,当这个数量达到最大允许值时就会出现上面的提示。 如何避免? 一、用注销来退出远程桌面而不是直接关闭窗口二、限制已断开链接的会话存在时间 1、从终端服务配置中修改 运行-Tscc.msc(终端服务配置)-连接-双击RDP-Tcp或右击-属性-会话-选中第一个的替代用户设置(O)-结束已断开的会话[将默认值“从不”改为一个适当的时间,比如30分钟] 2、从组策略修改 开始-运行-gpedit.msc-计算机配置-管理模板-windows组件-终端服务-会话 右边窗口选择 为断开的会话设置时间限制 -选择已启用,选择一个时间 三、增加最多链接数 1、从终端服务配置中修改:运行-Tscc.msc(终端服务配置)-连接-双击RDP-Tcp或右击-属性,选择“网卡”选项卡-修改“最大连接数”改成你所需的值,当然这个值不也能太大,否则会占用较多的系统资源。不过这里修改的值好像不起作用,设置成无限制时照样还是会出现本文所说的情况。 2、组策略级别要高于终端服务配置,当启用组策略后终端服务配置中的相应选项会变成灰色不可修改 运行-gpedit.msc-计算机配置-管理模板-Windows组件-终端服务 双击右边的”限制连接数量“-选择”已启用“-填入允许的最大连接数 四、改变远程终端模式 打开“控制面板”,双击“添加删除程序”,单击“添加删除Windows组件”,“组件”,在Windows组件向导对话框中选中“终端服务” , “下一步”,“应用服务器”,“下一步”,然后按照提示即可改变终端服务的模式。 Windows 2000终端服务有2种运行模式: 远程管理模式和应用程序服务器模式。远程管理模式允许系统管理员远程管理服务器,而且只允许2个终端会话同时登录终端服务器。应用程序服务器模式允许用户运行一个以上应用程序,允许多个用户从终端登录访问服务器。但是,应用终端服务的用户必须有终端服务授权,即必须在90天之内在这个域或工作组中设置终端服务授权服务器,否则用户需删除应用程序,然后再重新安装。 五、修改本地安全策略 控制面板>>管理工具>>本地安全策略>>本地策略>>安全选项>> 1、先找到>>Microsoft网络服务器:在挂起会话之前所需的空闲时间 默认为:15分钟,改为自己所需要的时间(就是登陆后无动作空闲超过多少时间后自动断开) 2、然后找到>>网络安全:在超过登录时间后强制注销。默认为:已禁用,一定要改为:已启用 如果已经发生解决办法: 1、首先你可以telnet到此主机上(不管你用哪种方法),当然如果能直接操作机器更好,不过直接操作就不必用命令行了,那当然是知道机器超级管理员的密码的情况下,可以使用OpenTelnet来打开远程服务器的Telnet端口。 2、Telnet上去后,先看登陆的用户: 输入命令:query user 系统返回: C:>query user USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME k12update console 1 运行中 2007-3-14 14:57 此时可以看出的可能都不一样,根据具体情况而定。 ID 0 的用户是本地登陆的,ID 1 和 ID 12是3389登陆的用户,前者在运行中,后者已经断开了,但是断开了仍然占用系统资源和通道,我们要把它踢掉。如下进行操作即可。 输入命令:logoff 1 3、如果服务器关闭了telnet功能(这是默认的),还可以通过SqlServer的xp_cmdshell扩展存储过程,使用格式:master.dbo.xp_cmdshell '命令内容',其余可参考第二步。此方式要求有访问xp_cmdshell的权限 上面的办法基本没有用 [原创经典]“终端服务器超出了最大允许连接数”的解决办法 2007-04-25 17:13 现象及原因:用远程桌面连接登录到终端服务器时经常会遇到“终端服务器超出最大允许连接数”诸如此类错误导致无法正常登录终端服务器,引起该问题的原因在于Windows Server 2003中设置终端服务的缺省连接数为2个链接,并且当登录远程桌面后如果不是采用注销方式退出,而是直接关闭远程桌面窗口,那么实际上会话并没有释放掉,而是继续保留在服务器端,这样就会占用总的链接数,当这个数量达到最大允许值时就会出现上面的提示。 解决方案: 法一:用“注销”方式退出远程桌面而不是直接关闭窗口 法二:踢出已经断开连接的用户 1、首先telnet到此主机上(不管你用什么方法),当然如果能直接操作机器更好,不过直接操作就不必用命令行了,用控制台更直观(略过)。 2、Telnet上去后,先看登陆的用户: 输入命令:query user 系统返回: 用户名Username 会话名Session Name ID 状态State 空闲时间Idle Time 登录时间Logon Time administrator console 0 运行中 . 2007-1-12 10:24 lucy 1 唱片 无 2007-1-12 10:35 >administrator rdp-tcp#35 2 已断开 . 2007-1-25 18:09 此时可以看出的可能跟我的不一样,根据你的具体情况而定。 ID 0 的用户是本地登陆的 ID 1 和 ID 2是3389登陆的用户,前者在运行中, 后者已经断开了,但是断开了仍然占用系统资源和通道,我们要把它踢掉,如下进行操作即可。 输入命令:logoff 1 再看看 C:/Documents and Settings/Administrator.AD>query user 用户名Username 会话名Session Name ID 状态State 空闲时间Idle Time 登录时间Logon Time administrator console 0 运行中 . 2007-1-12 10:24 >administrator rdp-tcp#35 2 已断开 . 2007-1-25 18:09 3、如果服务器关闭了telnet功能(这是默认的),还可以通过SqlServer的xp_cmdshell扩展存储过程,使用格式:master.dbo.xp_cmdshell ''''命令内容'''',其余可参考第二步。此方式要求有访问xp_cmdshell的权限。 法三(最佳方法-推荐):限制已断开链接的会话存在时间 一般情况下,我们在维护远程服务器时,不可能长时间在线,但是系统默认的却是只要登录就不再断开。因此,我们可以修改这一默认设置,给它指定一个自动断开的时间即可。 可以在Windows 2003 服务器上通过组策略中设置一下来解决问题:单击"开始→运行",输入"gpedit.msc",回车后打开组策略窗口,然后依次定位到"计算机配置→管理模板→Windows 组件→终端服务→会话",然后在右侧窗口中双击"为断开的会话设置时间限制",在打开的窗口中将"结束断开连接的会话"时间设置为5分钟,或者设置为空闲就断开。 或 在远程服务器上打开“运行”窗口,输入“tscc.msc”连接设置窗口。然后双击“连接”项右侧的“RDP-Tcp”,切换到“会话”标签,选中“替代用户设置”选项,再给“结束已断开的会话”设置一个合适的时间即可。 法四:增加连接数量,即设置可连接的数量多些 默认情况下允许远程终端连接的数量是2个用户,我们可以根据需要适当增加远程连接同时在线的用户数。 单击“开始→运行”,输入“gpedit.msc”打开组策略编辑器窗口,依次定位到“计算机配置→管理模板→Windows 组件→终端服务”,再双击右侧的“限制连接数量”,将其TS允许的最大连接数设置大一些即可。 经过上面两个配置(法三&法四),基本上就可以保证远程终端连接时不再受限。但仍有人反映,当前同时只有一个用户进行连接,却提示超出最大允许链接数,这又是什么原因呢?出现这种情况是因为操作不当所造成的。在上一个帐户登录远程桌面后退出时,没有采用注销的方式,而是直接关闭远程桌面窗口,那么导致该会话并没有被释放,而是继续保留在服务器端,占用了连接数,这样就会影响下一个用户的正常登录了。 法五:限制用户会话数 对Terminal Services进行限制,使得一个用户仅仅能够连接一次 对于Windows Server 2003,请在Terminal Services Configuration(Terminal Services配置)中将“限制每位用户只有拥有一个会话”(Restrict each user to one session)设置为“是”(Yes)。此外,您可以将“限制终端服务用户使用单个远程会话”组策略设置为“启用”。 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/62guangye/archive/2010/02/05/5291415.aspx