远程桌面超出最大连接数解决方法总结

发布时间:2020-03-15编辑:脚本学堂
本文介绍了远程桌面超出最大允许连接数的解决方法,win2003远程终端超出连接数怎么办?有遇到这个问题的朋友参考下,希望对大家有所帮助。

网上找了的一些方法,帮助大家解决远程桌面超出最大连接数的问题,内容比较杂,大家慢慢看。

远程桌面超出最大连接数

遇到远程桌面超出最大连接数问题时,我一般会尝试:
mstsc /v:211.211.0.5 /console 需要03的机器来连接03的服务器

先说增加连接数,目前的两种方法,测试下:

(1)开始- 运行- gpedit.msc- 管理模板- Windows组件- 终端服务- 限制连接数量- 启用 TS允许的最大连接数(可修改,不过好像并没有解决我的问题,远程连接服务器还是提示超过了最大允许连接数)

(2)开始- 运行- gpedit.msc- 管理模板- Windows组件- 终端服务- 限制连接数量- 选择“已禁用”,打开终端服务器配置-网卡-把那个允许最大连接数值改的大一些(经过我的测试,此种方法不可用,因为允许最大连接数不可修改,默认为2)。

第二个答案:这是因为windows2003仅支持2个终端用户的登陆。当这种情况出现后,多数人选择的是给机房打电话进行重启服务器。可是带来的损失也是显而易见的。那么我们有什么办法来解决呢?方法当然是有的。我们只需要在一台2003的机器上运行“tsmmc.msc”就可以打开远程桌面连接,在这里我们添加一个新的连接,输入对方的IP地址帐号和密码后就可以成功登陆到对方的桌面中,这时可以再踢下一个用户。就可以解决终端连接数超过最大的问题。

第三个答案:

1、修改终端服务配置

开始 -〉控制面板 -〉管理工具 -〉终端服务配置

左边选择“连接”后双击右边的RDP-Tcp,打开属性设置对话框

选择“会话”标签,选中第一个“替代用户设置”,修改“结束已断开的会话”的时间,此处我修改为“10分钟”,这样当断开连接10分钟内没有再次连接的话,系统就会自动结束这个会话

2、修改组策略

这个级别要高于终端服务配置,在这个里面修改后,上面的终端服务配置那几个修改内容就会变灰,无法修改了。

开始 -〉运行 -〉gpedit.msc 左面计算机配置-〉管理模板-〉windows组件-〉终端服务

右面双击限制连接数量打开设置对话框,选择“已启用”,在结束已断开的会话中选择时间。


一、背景
    Windows 2003终端服务有2种运行模式: 远程管理模式和终端服务器模式。

    “远程管理模式”允许系统管理员远程管理服务器,而且只允许2个终端会话同时登录终端服务器。

    “终端服务器模式”允许用户运行一个以上应用程序,允许多个用户从终端登录访问服务器。但是,应用终端服务的用户必须有终端服务授权,即必须在90天之内在这个域或工作组中设置终端服务授权服务器,否则用户需删除应用程序,然后再重新安装。

    无论使用哪一种模式的终端服务,当登录远程桌面后不是采用注销方式退出,而是直接关闭远程桌面窗口,那么实际上会话并没有释放掉,而是继续保留在服务器端,这样就会占用总的链接数,当这个数量达到最大允许值时就会出现上面的提示。
    
一,查看终端服务模式
“授权”选项的值为“用来管理的远程桌面”,说明目前的终端服务属于“用来管理的远程桌面”模式,解决思路有:
1,变更终端服务模式为“终端服务器模式”
2,使用 logoff 命令从会话中注销用户
3,使用带参数的mstsc命令进行连接

“授权”选项的值为“每设备”或“每用户”时,说明目前的终端服务属于“终端服务器模式”,解决思路:
1,增加最大允许连接数
2,使用 logoff 命令从会话中注销用户
3,使用带参数的mstsc命令进行连接
 
二,改变终端服务模式
如果是在“用来管理的远程桌面”模式下遇到“终端服务器超出最大允许连接”提示,则通过改变终端服务模式为“终端服务器模式”即可。

三,使用 logoff 命令从会话中注销用户(应急办法,治标不治本)

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 2是3389登陆的用户,前者在运行中,后者已经断开了,但是断开了仍然占用系统资源和通道,我们要把它踢掉。如下进行操作即可。
输入命令:logoff 1

3、如果服务器关闭了telnet功能(这是默认的),还可以通过SqlServer的xp_cmdshell扩展存储过程,使用格式:master.dbo.xp_cmdshell '

命令内容',其余可参考第二步。此方式要求有访问xp_cmdshell的权限
 
四、增加最大允许链接数
4.1、 从终端服务配置中修改:
 修改“最大连接数”为所需的值,当然这个值不也能太大,否则会占用较多的系统资源。

2、从组策略修改

五、使用带参数的mstsc命令(应急办法,治标不治本)

以如下命令形式即可解决超过最大连接数问题
运行 mstsc /v:IP /console ,比如

mstsc /v:211.211.0.5 /console

就可以连接到远程系统的的会话。

1.mstsc命令行工具的参数官方说明(摘自官方帮助文档):

远程桌面连接”命令行的句法
语法
mstsc [<connection file>] [/v:<server[:port]>] [/console] [/f[ullscreen]] [/w:<width>] [/h:<height>] [/public] | [/span] [/edit "connection file"] [/migrate] [/?]

“远程桌面连接”的命令行参数

参数 说明
/v:<server[:port]> 指定要连接的远程计算机。
/console 将您连接到在运行 Windows Server 2003 的服务器或安装了终端服务器角色服务的服务器的控制台中登录的会话。
/f 以全屏模式启动“远程桌面连接”。
/w:<width> 指定“远程桌面连接”窗口的宽度。
/h:<height> 指定“远程桌面连接”窗口的高度。
/public 以公共模式运行远程桌面连接。
/span 使远程桌面的宽度和高度与本地虚拟桌面相匹配,如有必要,扩展到多个显示器。要扩展到多个显示器,所有显示器必须具有相同的高度并垂直排列。
/edit 打开指定的 .rdp 连接文件进行编辑。
/migrate 将使用客户端连接管理器创建的旧连接文件迁移到新的 .rdp 连接文件。
/? 列出这些参数

2.官方帮助文档对/console参数的说明
连接到远程计算机的控制台会话

在此版本的远程桌面连接中,如果远程计算机上安装了终端服务器角色服务,mstsc /console 将:

仅针对此连接禁用终端服务客户端访问授权 (TS-CAL)。
仅针对此连接禁用时区重定向
仅针对此连接禁用 TS 会话目录重定向。
若要使用已安装的终端服务器角色服务连接到远程计算机的控制台会话,请执行下列步骤:

打开“命令提示符”窗口。
键入:
mstsc /v:server /console

您也可以使用“/console”参数连接到运行 Windows Server 2003、安装或未安装终端服务器角色服务的服务器。

值 说明
服务器 指定要连接的远程计算机的 DNS 名称或 IP 地址。


3.mstsc和带参数的mstsc /console的差别

当在XP运行里面打上mstsc命令并连接上另外一台机子,用任务管理器查看里面的进程的时候,你会发现里面的进程少了好多?
明明肯定运行着个的程序无论是在任务管理器里面还是在任务栏、系统托盘里都找不到。难道程序消失啦?

其实是这样的:其实我们一直用的所谓的远程桌面,其实只能算是个虚拟的桌面,而并非真正的形如远程主机显示器上显示的桌面。
mstsc和mstsc /console两个命令所连接的远程桌面,其实是截然不同的。

前者mstsc连接上远程主机后,本地主机所看到的远程主机的桌面其实只是一个虚拟桌面,正如前面所说,并非是远程主机显示器此时显示的桌面,
而是精简化之后的结果,除了开机就运行的一些程序外,其实在开机之后手动运行的程序是不会显示的。当使用普通的远程桌面(开始菜单中)或者mstsc命令行工具(不带参数)连接到远端主机的时候,远程主机并不会注销当前用户并锁定桌面。而且此时在远程主机上的所有操作(这里的操作是说非修改性的操作,比如运行程序,下同)都不会影响本地的使用(当然如删除相关文件则例外)。

其实从远程桌面的设置选项中,我们也可以看出些端倪:

而带参数mstsc /console则不同,当本地通过此命令连接上远程主机的时候,远程主机便会立即注销当前登陆使用的用户并锁定桌面,而且在远程主机上的相关操作都将影响本地的使用,也就是说,当远程主机重新登陆用户的时候,本地将断开与之的连接。

但是它们俩都有个共同点,即在主机上面的操作与修改都将会被记录并保存。其实只要你的终端连接的个数没有达到上限,你可以在一台电脑上同时用普通的远程桌面(开始菜单中)或者mstsc命令行工具(不带参数)多次连接同一台远程PC。这有什么作用呢?其实当你用mstsc远程上去之后所运行的程序都不会在远程主机上实际运行,所以当你使用第二个mstsc远程连接上去之后,在终端上将不会看到你使用第一个mstsc远程连接上去之后运行的程序。举个例子,如果你使用第一个mstsc远程连接上去之后,登陆一个QQ123456789,然后你再使用第二个mstsc远程连接上去,你将看不到QQ程序在运行,且当你同样登陆QQ123456789,那么,你将会在第一个mstsc远程连接上去的终端上看到提示说QQ在别处登陆(纳闷儿不是,都是远程连接在同一台主机上运行的程序,为什么会这样呢)。但是,正如前面所说的,由于“在主机上面的操作与修改都将会被记录并保存”,所以,当你注销了你登录后,记录的操作都会生效!
 
六,限制已断开链接的会话存在时间(保健措施)
6.1、从终端服务配置中修改
把“结束已断开的会话”的值从“从不”改为一个适当的时间,比如30分钟]

6.2、从组策略修改
七、修改本地安全策略(保健措施)
控制面板>>管理工具>>本地安全策略>>本地策略>>安全选项>>

1、先找到>>Microsoft网络服务器:在挂起会话之前所需的空闲时间
默认为:15分钟,改为自己所需要的时间(就是登陆后无动作空闲超过多少时间后自动断开)

2、然后找到>>网络安全:在超过登录时间后强制注销。默认为:已禁用,一定要改为:已启用