Skip to main content

連線到遠端 Windows Server 時出現 There are no Remote Desktop License Servers available to provide a license 的因應措施

· 預估閱讀時間: 5 分鐘
Ouch Liu
不務正業的架構師

前言

最近要透過遠端桌面連線到某一台 Windows Server 時,突然出現下面的錯誤訊息:

遠端工作階段已中斷連線,因為沒有可用來提供授權的遠端桌面授權伺服器

然後就再也無法從我的電腦連進去了。

不過,很神奇的是,有位同事說他沒遇到問題,還是可以從他的電腦遠端連線到同一台 Server...

原因

會發生這個問題的原因,簡單的說,是因為 Server 上安裝了遠端桌面連線服務功能,而且沒有指定給它使用的授權伺服器。

遠端桌面連線服務預設會提供 120 天的寬限期,等寬限期到期之後又還沒指定授權伺服器給它的話,它就會封鎖非 Local Admin 帳號並且使用 Console 模式的遠端連線。

而我同事還可以連上遠端 Server,就是因為他用的工具是 Remote Desktop Organizer,而且他勾選了 Connect To Console 這個選項。

因應措施

使用 Local Admin 帳號搭配 Console 模式連線到遠端 Server

前面有提到,非 Local Admin 帳號並且使用 Console 模式的遠端連線會被封鎖,所以我們只要用 Local Admin 帳號搭配 Console 模式來連到遠端 Server 就好啦!!

如果也是習慣使用 Remote Desktop Organizer 管理遠端桌面連線的話,只需要勾選 Connect To Console 這個選項即可。

不過,如果習慣直接使用 Windows 內建的 MSTSC 的話,也可以在命令提示字元輸入 mstsc /help 這個指令的話,就可以看到遠端桌面連線的參數說明如下:

遠端桌面連線使用方法

所以我們只要用下面的指令就可以用 Console 模式登入到遠端 Server:

mstsc /v:{遠端 Server IP} /admin

刪除/重置授權伺服器的寬限期

只需要在遠端 Server 上使用登錄編輯程式,將 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod 裡面的登錄機碼刪除,然後重新開機即可。

刪除寬限期登錄機碼

注意事項
  1. 經過實測,也可以直接把 GracePeriod 整個機碼刪除。
  2. 在對 GracePeriod 機碼進行操作的時候有可能出現權限不足的錯誤,只需要把它的擁有者改成 Local Administrators 群組並且授與寫入權限就可以解決。

正確的解決之道

要一勞永逸的解決這個問題的話,有兩種方法:

  1. 設定遠端桌面連線授權伺服器: 如果有購買遠端桌面連線授權伺服器的話,當然就直接把它設定上去就好啦!!

    設定的方法可以參考 這篇文章

  2. 移除遠端桌面連線服務: 如果沒有購買遠端桌面連線授權伺服器,又不是非得要使用遠端桌面連線服務的功能的話,也可以考慮把相關功能移除即可。

    透過伺服器管理員移除遠端桌面服務

    除了使用 UI 之外,也可以透過 PowerShell 下指令來移除,指令如下:

    Uninstall-WindowsFeature -name Remote-Desktop-Services -includemanagementtools -confirm
注意事項

我分別透過伺服器管理員 UI 和 PowerShell 去移除遠端桌面連線服務,但是都在重新開機之後就失敗了,不知道裡面到底是有什麼巫術。 只能說,除非你有授權伺服器可以用,不然如果沒必要的話,還是別裝這個服務來整自己啊!!