【解决方法】Windows 2000\Windows 2003终端服务器超出最大允许链接数(转载)
Windows 2000\Windows 2003终端服务器超出最大允许链接数
telnet远程关闭终端连接
服务器中安装的是Windows 2003,我在远程使用终端服务器进行远程访问,为什么有的时候显示“终端服务超出最大允许连接数”的提示,无法登录。请问该如何解决啊?
这是因为Windows 2003中设置了最大允许连接数限制,而你每次连接后可能没有注销而是直接关闭,导致连接数超过了最大连接数。你可以在Windows 2003 服务器上通过组策略中设置一下来解决问题:单击“开始→运行”,输入“gpedit.msc”,回车后打开组策略窗口,然后依次定位到“计算机配置→管理模板→终端服务→会话”,然后在右侧窗口中双击“为断开的会话设置时间限制”,在打开的窗口中将“结束断开连接的会话”时间设置为5分钟。最好的解决方法还是你每次断开连接时通过注销。
首先你可以telnet到此主机上(不管你用哪种方法),当然如果能直接操作机器更好,不过直接操作就不必用命令行了,用控制台更直观,这里不是我们讲述的问题,略过。 B(}w"M G[9FD'[
2、Telnet上去后,先看登陆的用户:
输入命令:query user diuw+gG d0E
系统返回:
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
administrator console 0 运行中 . 2004-10-09 15:37
user1 UserMachine1 1 运行中 . 2004-10-09 15:37
user2 12 已断开 无 2004-10-09 15:37
此时可以看出的可能根我们的不一样,根据具体情况而定。
看到吗? ID 0 的用户是本地登陆的,ID 1 和 ID 12是3389登陆的用户,前者在运行中,后者已经断开了,但是断开了仍然占用系统资源和通道,我们要把它踢掉。如下进行操作即可。 输入命令:logoff 12 `,Q5gr {,x5u
C:\>query user //再看看
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
administrator console 0 运行中 . 2004-10-09 15:37
user1 UserMachine1 1 运行中 . 2004-10-09 15:37
3、如果服务器关闭了telnet功能(这是默认的),还可以通过SqlServer的xp_cmdshell扩展存储过程,使用格式:master.dbo.xp_cmdshell '命令内容',其余可参考第二步。此方式要求有访问xp_cmdshell的权限。
远程进入系统之后可以通过以下修改,彻底解决这个现象。
解决方式:
一、用注销来退出远程桌面而不是直接关闭窗口
二、限制已断开链接的会话存在时间
三、增加最多链接数
四、只要强制每个帐户使用一个会话就好了,你就可以重新连到你断开的那个连接了。
二、三可采用以下两种方式来修改
1、从终端服务配置中修改
修改会话存在时间:运行-Tscc.msc-连接-双击RDP-Tcp或右击-属性-会话-选中第一个的替代用户设置(O)-结束已断开的会话[将默认值“从不”改为一个适当的时间,比如30分钟]
修改最大连接数:选择“网卡”选项卡-修改“最大连接数”改成你所需的值,当然这个值不也能太大,否则会占用较多的系统资源。不过这里修改的值好像不起作用,设置成无限制时照样还是会出现本文所说的情况。
2、从组策略修改
组策略级别要高于终端服务配置,当启用组策略后终端服务配置中的相应选项会变成灰色不可修改
运行-gpedit.msc-计算机配置-管理模板-Windows组件-终端服务
双击右边的”限制连接数量“-选择”已启用“-填入允许的最大连接数
四可采用以下方法修改
开始-管理工具-终端服务配置-服务器配置-限制每个用户使用一个会话
本文出自 51CTO.COM技术博客