Windows 伺服器

Windows Server 遠端桌面多使用者同時登入:新增 RDP 使用者、2 個會話限制與 RDS 授權配置

5 個步驟 8 分鐘閱讀 20 次閱讀 0
本文目錄

出於管理用途,Windows Server 預設只允許同時存在兩個遠端桌面會話。這對一名管理員加一位同事來說已經夠用,但不適合整天在伺服器上工作的團隊。本文介紹如何新增使用者並授予遠端桌面訪問許可權、兩個會話的限制是如何生效的、如何自動登出空閒和已斷開的會話,以及如何通過遠端桌面會話主機角色和 RDS 許可證合法地支援更多使用者。

不要使用通過修改系統檔案來解除會話限制的第三方補丁或“RDP Wrapper”類工具。它們違反 Microsoft 的許可條款,Windows 更新後經常失效,還可能導致伺服器完全無法接受遠端桌面連線。

步驟 1:建立使用者並允許遠端桌面登入

請為每個人建立單獨的帳戶,不要共用 Administrator,這樣才能知道每項操作是誰做的,也可以單獨收回某個人的訪問許可權。以管理員身份開啟 PowerShell:

# Create a local user (you will be asked for the password)
$pw = Read-Host -AsSecureString "Password for alice"
New-LocalUser -Name "alice" -Password $pw -FullName "Alice" -PasswordNeverExpires

# Allow Remote Desktop without full admin rights
Add-LocalGroupMember -Group "Remote Desktop Users" -Member "alice"

# Only if this person really needs administrator rights
# Add-LocalGroupMember -Group "Administrators" -Member "alice"

Get-LocalGroupMember -Group "Remote Desktop Users"

Remote Desktop Users 組的成員可以遠端登入;Administrators 組的成員始終可以登入。請使用強密碼並配置帳戶鎖定策略(參見 Windows VPS 安全加固)。

步驟 2:瞭解兩個會話的限制

在未安裝遠端桌面會話主機角色的情況下,Windows Server 最多同時接受兩個活動的遠端桌面會話(另加一個控制臺會話)。第三個人連線時,Windows 會詢問要斷開哪位現有使用者。如果使用者只是直接關閉遠端桌面視窗,帳戶仍保持登入,會話狀態變為已斷開連線(Disconnected),它依然計入會話數量,並繼續佔用記憶體。

# See who is signed in and the session IDs
quser
query session

# Sign out a session (replace 3 with the ID from quser)
logoff 3

步驟 3:自動登出空閒和已斷開的會話

開啟本地組策略編輯器(gpedit.msc),依次展開計算機配置 → 管理模板 → Windows 元件 → 遠端桌面服務 → 遠端桌面會話主機(Computer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host)。

  • 會話時間限制 → 設定已中斷會話的時間限制(Session Time Limits → Set time limit for disconnected sessions):例如設為 1 小時,被遺忘的會話會自動登出。
  • 會話時間限制 → 設定活動但空閒的遠端桌面服務會話的時間限制(Session Time Limits → Set time limit for active but idle Remote Desktop Services sessions):例如設為 2 小時。
  • 連線 → 將遠端桌面服務使用者限制到單獨的遠端桌面服務會話(Connections → Restrict Remote Desktop Services users to a single Remote Desktop Services session):設為“已啟用”,這樣每個使用者都會重新連線到自己原來的會話,而不是再開一個新會話。
gpupdate /force
會話被登出時,其中執行的程式也會被關閉。如果某個程式需要 24 小時不間斷執行,請將其作為服務或計劃任務執行,而不是一直掛著遠端桌面會話。

步驟 4:超過兩個使用者:安裝遠端桌面會話主機角色

如需三個及以上使用者同時登入,請安裝遠端桌面會話主機(Remote Desktop Session Host)角色和遠端桌面授權(Remote Desktop Licensing)伺服器,並向 Microsoft 或經銷商購買 RDS 客戶端訪問許可證(RDS CAL):可以按使用者購買(每個使用者一個,Per User),也可以按裝置購買(每台連線裝置一個,Per Device)。

# Install the Session Host and Licensing roles, then restart
Install-WindowsFeature RDS-RD-Server, RDS-Licensing -IncludeManagementTools
Restart-Computer

重啟後,Windows 會進入 120 天的授權寬限期,期間使用者無需 CAL 即可連線。請在寬限期結束前完成以下操作:

  1. 開啟遠端桌面授權管理器(Remote Desktop Licensing Manager)(licmgr.exe),右鍵單擊伺服器,選擇啟用伺服器(Activate Server),然後選擇安裝許可證(Install Licenses),新增你的 RDS CAL。
  2. 在 gpedit.msc 的遠端桌面會話主機 → 授權(Remote Desktop Session Host → Licensing)下,啟用使用指定的遠端桌面許可證伺服器(Use the specified Remote Desktop license servers)(填寫本伺服器的名稱)和設定遠端桌面授權模式(Set the Remote Desktop licensing mode)(按使用者或按裝置,與你購買的 CAL 類型一致)。
  3. 執行 gpupdate /force,然後用 RD 授權診斷程式(RD Licensing Diagnoser)(lsdiag.msc)檢查配置結果。

如果寬限期到期時仍未配置許可證伺服器,使用者連線時會提示沒有可用的遠端桌面授權伺服器(英文提示為“no Remote Desktop license servers available”),此時只有管理員還能通過 mstsc /admin 連線。

步驟 5:為多使用者規劃資源

每個活動的桌面會話都會佔用記憶體和 CPU,使用者執行瀏覽器或辦公軟體時佔用更多。粗略估算:輕度使用的使用者每人預留 1–2 GB 記憶體,使用瀏覽器並開啟大量標籤頁的使用者每人預留 2–4 GB,這還不包括伺服器自身服務所需的資源。可以通過工作管理員的使用者(Users)選項卡隨時檢視各使用者的資源佔用。

常見問題

提示“到這臺計算機的連線數目有限,所有連線現在都在使用中”怎麼辦?

說明已有兩個會話處於活動或已斷開狀態。可以用 logoff 登出其中一個(見步驟 2),或用 mstsc /admin 連線到管理控制臺會話,並按步驟 3 設定時間限制,避免問題再次出現。

兩個人可以同時使用同一個帳戶嗎?

只有在停用將遠端桌面服務使用者限制到單獨的遠端桌面服務會話(Restrict Remote Desktop Services users to a single session)後才可以,而且即使這樣也不建議:設定、檔案和日誌都會混在一起。請為每個人單獨建立帳戶。

遠端桌面完全連不上?

這屬於網路連通性問題,而不是會話數限制。請參見遠端桌面連線故障排查。

如果按以上步驟操作後問題仍未解決,請提交工單聯絡 IMIDC 7×24 技術支援,並附上伺服器 IP、Windows Server 版本、需要同時登入的使用者數量以及具體的報錯資訊,方便工程師快速定位。

這篇文章有幫助嗎?

相關教程