原因:用遠端桌面連結登入到終端伺服器時經常會遇到“終端伺服器超出最大允許連結數”諸如此類錯誤導致無法正常登入終端伺服器,引起該問題的原因在於終端服務的預設連結數為2個連結,並且當登入遠端桌面後如果不是採用登出方式退出,而是直接關閉遠端桌面視窗,那麼實際上會話並沒有釋放掉,而是繼續保留在伺服器端,這樣就會佔用總的連結數,當這個數量達到最大允許值時就會出現上面的提示。
Win+R運行 mstsc /console 然後在彈出遠程登陸介面,直接就可以上去了
MSTSC Terminal Server Connection, RDP (Remote Desktop Protocol) Syntax
MSTSCoption
MSTSC /Edit"ConnectionFile"
MSTSC /migrate
Options
ConnectionFileThe name of an RDP file for connection
/v:<server[:port]> The remote computer to connect to
/console Connect to the console of a server (NT/XP)
/Admin Connect to a session for administering the server(Vista/2008)
/f Start in Full Screen mode
/w:width Width of the RDP screen
/h:height Height of the RDP screen
/span Match the Remote Desktop width and height with the local virtual
desktop, spanning across multiple monitors if necessary.(Vista/2008)
/public Run Remote Desktop in public mode. (Vista/2008)
In public mode, passwords and bitmaps are not cached.
/edit Open the RDP file for editing.
/migrate Convert a legacy Client connection file into an .RDP file The/consoleoption only works when connecting to an Windows XP Professional or Windows Server 2003 computer. When connected to a remote desktop, the key combinationCtrl-Alt-ENDwill send Ctrl-Alt-Del to the remote client. Examples:
MSTSC /v:MyServer /f /console
MSTSC /v:127.0.0.1 /w:1024 /h:768
MSTSC /v:MyServer /w:800 /h:600
MSTSC /edit filename.rdp On the Windows XP CD, under /SUPPORT/TOOLS you'll find MSRDPCLI.exe. This is the setup for use with 9.x/2000 machines.
"Ignorance is preferable to error; and he is less remote from the truth who believes nothing, than he who believes what is wrong" - Thomas Jefferson
Related Commands:
MAPISEND- Send email from the command line
RMTSHARE- Share a folder or printer
SHORTCUT- Create a windows shortcut
SHUTDOWN- Shutdown the computer/Log off a user
Equivalent bash command (Linux): vncconnect - Connect to a VNC server 其他方法: 如何避免?
一、用登出來退出遠端桌面而不是直接關閉視窗
二、限制已取消連結的會話存在時間
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的許可權
上面的辦法基本沒有用