1. 程式人生 > >遠端桌面超出了最大連線數的解決方法

遠端桌面超出了最大連線數的解決方法

網上找的,摘抄的幾個

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、然後找到>>網路安全:在超過登入時間後強制登出。預設為:已禁用,一定要改為:已啟用