Windows 2003 server远程桌面连接数限制已经困扰很久了,给平时的维护带来麻烦。既然微软不会从根本上解决这个问题,那只有通过其他方式来减少问题的发生几率。

一、在服务器端的处理办法如下
1. 设定已经断开的会话结束时间限制,这样避免会话已经断开,但仍然占用一个Session

开始-运行-gpedit.msc-计算机配置-管理模板-windows组件-终端服务-会话,右边窗口选择"为断开的会话设置时间限制"-选择"已启用",选择一个时间;

开始-运行-gpedit.msc-计算机配置-管理模板-windows组件-终端服务-会话,右边窗口选择"到达时间限制时终止会话"-选择"已启用"。

2. 无限时保持连接会话,便于远程控制共享任意时候连接会话的数据,也就是共享任意时候连接的远程桌面的当时状态:

开始-管理工具-终端服务配置-服务器配置-限制每个用户使用一个会话

3. 养成良好习惯,退出连接时不要直接关闭,而是使用注销。

二、如果已经有多个连接存在
1 可以通过命令的方式将连接断开,这个方法在2000系统同样可用;如果在任务管理器的用户里注销的方法:

1.1 在Command Line模式下,输入命令query user:

C:\>query user

USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME

>dfsadmin 0 Disc . 7/23/2007 7:53 PM

mrsadmin rdp-tcp#10 1 Active . 7/24/2007 9:31 AM

ID 0的用户是本地登陆的,ID 1是3389登陆的用户,正在运行中,但是仍然占用系统资源和通道,我们要把它踢掉。

1.2 可通过logoff x命令来注销id为x的登录用户。输入命令:logoff 1,再用query user查询状态

C:\>logoff 1

C:\>query user

USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME

>dfsadmin 0 Disc none 7/23/2007 7:53 PM

三、如果连接已经受限制
此时通过远程登录,可以用一个"3389DOS版"软件来进行牵制登录。这个软件只能解决windows2003系统的限制,2000系统也没办法。

四、超过最大连接时连接
在超过最大连接数时,通过运行mstsc /v:IP /console命令就可以连接到远程系统的会话。

MSTSC [<Connection File>] [/v:<sever[:port]>] [/console] [/f[ullscreen]]

[/w:<width>/h:<height>] | /Edit"ConnectionFile" | /Migrate | /?

<Connection File>-- 指定连接的.rdp 文件的名称。

/v:<sever[:port]>-- 指定要连接到的终端服务器。

/console -- 连接到服务器的控制台会话。

/f -- 以全屏模式启动客户端。

/w: <width>-- 指定远程桌面屏幕的宽度。

/h:<height>-- 指定远程桌面屏幕的亮度。

/edit -- 打开指定的.rdp 文件来编辑。

/migrate -- 将客户端连接管理器创建的旧版连接文件迁移到新的.rdp 连接文件。

/? -- 生成这个用法消息。