2003的服務器終端服務器超出最大連接數的解決辦法

 

mstsc /console /v:222.222.215.222:3389

 


現象及原因:用遠程桌面連接登錄到終端服務器時經常會遇到“終端服務器超出最大允許連接數”諸如此類錯誤導致無法正常登錄終端服務器,引起該問題的原因在於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)。此外,您可以將“限制終端服務用戶使用單個遠程會話”組策略設置爲“啓用”。  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章