出於管理用途,Windows Server 預設只允許同時存在兩個遠端桌面會話。這對一名管理員加一位同事來說已經夠用,但不適合整天在伺服器上工作的團隊。本文介紹如何新增使用者並授予遠端桌面訪問許可權、兩個會話的限制是如何生效的、如何自動登出空閒和已斷開的會話,以及如何通過遠端桌面會話主機角色和 RDS 許可證合法地支援更多使用者。
請為每個人建立單獨的帳戶,不要共用 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 安全加固)。
在未安裝遠端桌面會話主機角色的情況下,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
開啟本地組策略編輯器(gpedit.msc),依次展開計算機配置 → 管理模板 → Windows 元件 → 遠端桌面服務 → 遠端桌面會話主機(Computer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host)。
gpupdate /force
如需三個及以上使用者同時登入,請安裝遠端桌面會話主機(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 即可連線。請在寬限期結束前完成以下操作:
licmgr.exe),右鍵單擊伺服器,選擇啟用伺服器(Activate Server),然後選擇安裝許可證(Install Licenses),新增你的 RDS CAL。gpedit.msc 的遠端桌面會話主機 → 授權(Remote Desktop Session Host → Licensing)下,啟用使用指定的遠端桌面許可證伺服器(Use the specified Remote Desktop license servers)(填寫本伺服器的名稱)和設定遠端桌面授權模式(Set the Remote Desktop licensing mode)(按使用者或按裝置,與你購買的 CAL 類型一致)。gpupdate /force,然後用 RD 授權診斷程式(RD Licensing Diagnoser)(lsdiag.msc)檢查配置結果。如果寬限期到期時仍未配置許可證伺服器,使用者連線時會提示沒有可用的遠端桌面授權伺服器(英文提示為“no Remote Desktop license servers available”),此時只有管理員還能通過 mstsc /admin 連線。
每個活動的桌面會話都會佔用記憶體和 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 版本、需要同時登入的使用者數量以及具體的報錯資訊,方便工程師快速定位。