リモートセッション切断エラーの解決策:RDSライセンスサーバーとクライアントアクセスライセンス(CAL)の問題への対処法
この記事では、リモートデスクトップセッションホスト(RDSH)ロールがインストールされたWindows Serverに対して、RDPクライアントが接続できなくなる際に発生する、RDSライセンス関連の一般的な問題とその解決策を詳しく解説します。
RDPクライアントがRDSホストに接続する際にライセンスエラーが発生する主な原因は、以下の3つです。
- リモートデスクトップサービスの設定で、RDS CAL(クライアントアクセスライセンス)を取得するライセンスサーバーが指定されていない
- RDSライセンスサーバーの利用可能なCALが使い切っている
- RDPクライアントが、期限切れの一時的なRDSライセンスを使って接続しようとしている
「このコンピューターには利用可能なリモートデスクトップクライアントアクセスライセンスがないため、リモートセッションが切断されました」エラーへの対処
まず、クライアントがライセンスサーバーからRDS CALを取得できないケースについて見ていきましょう。この場合、以下のようなエラーメッセージが表示されます。
Remote session was disconnected because there are no Remote Desktop client access licenses available for this computer. Please contact the server administrator.

まず、管理モード(mstsc.exe /admin)でRDSHサーバーに接続し、「RDライセンス診断ツール(RD Licensing Diagnoser)」を実行します。設定が正しければ、RDSライセンスサーバーの名前とライセンスの種類(Per User/Per Device)が表示されるはずです。

次に、RDライセンスマネージャー(licmgr.exe)でライセンスサーバーに接続し、必要な種類(Per UserまたはPer Device)の空きライセンスが残っているかを確認します。空きCALがなくなっている場合は、新しいCALパックを購入するか、ライセンスが解放されるのを待つか、コンソールから未使用のライセンスを直接取り消す必要があります(対象のコンピューターやユーザーを右クリックし、「Revoke License」を選択します)。

上の例では、空きRDS CALが存在し、44個のライセンスがユーザーに発行済み(Issued = 44)であることがわかります。
ヒント: RDSHサーバーがADドメインではなくワークグループ環境に展開されている場合、Per Userライセンスは使用できません。この場合、ユーザーは接続時に必ず一時的なローカルのPer Deviceライセンスを受け取ることになります。
このケースでは、クライアントコンピューターが期限切れの一時的なRDPライセンスを使ってRDSHサーバーに接続しようとしている可能性が高いです。初回接続時にライセンスサーバーが利用できなかった場合、クライアントには180日間有効な一時的なRDPライセンスが発行されます。この場合は、クライアント側のレジストリで期限切れのライセンスをリセットする必要があります。
クライアントコンピューター(ここではWindows 10を例とします)で、以下の手順を実行してください。
- レジストリエディター(
regedit.exe)を起動します。 - HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing キーを削除します。

- レジストリエディターを閉じ、
mstsc.exe(リモートデスクトップ接続)を管理者として実行します。
- RDSサーバーに接続します。MSLicensingキーが自動的に再作成され、新しいRDPライセンスが取得されます。
なお、mstsc.exeを管理者権限で実行しなかった場合は、すべてのRDP接続で以下のエラーが表示されますので注意してください。
The remote computer disconnected the session because of an error in the licensing protocol. Please try connecting to the remote computer again or contact your server administrator.
「リモートデスクトップライセンスサーバーが利用できないため、リモートセッションが切断されました」エラーへの対処
ここでは、Windows Server 2012 R2上に構築されたRDSサーバーファームで実際に発生した事例を紹介します。ライセンスサーバーの役割がインストール・構成され、RDP CALもアクティブ化されていたにもかかわらず、なぜかRDSサーバーがターミナルライセンスをユーザーに発行しなくなってしまいました。
ユーザーがRDP経由でターミナルサーバーに接続しようとすると、以下のエラーが表示されます。
The remote session was disconnected because there are no Remote Desktop License Servers available to provide a license. Please contact the server administrator.

まず、管理モード(mstsc /admin)でサーバーコンソールに接続します。サーバーマネージャーを開き、RDS設定(リモートデスクトップサービス → 展開の概要 → タスク → 展開プロパティの編集)に移動します。RDSHの構成において、正しいリモートデスクトップライセンスサーバーとRDS CALの種類(Per DeviceまたはPer User)が指定されていることを確認してください。

PowerShellでもRDSライセンスサーバーの設定を確認できます。
Get-RDLicenseConfiguration

この例では、構成にLicenseServerが指定されており、PerUserライセンスモードが使用されていることがわかります。
次に、RDSHホストからRDSライセンスサーバーへのアクセス時に、以下のポートがファイアウォールでブロックされていないかを確認してください。TCP 135、UDP 137、UDP 138、TCP 139、TCP 445、TCP 49152~65535(RPC範囲)。ライセンスサーバーに到達できない場合、ライセンス診断ツールには以下のエラーが表示されます。
License server rdslic_hostname is not available. This could be caused by network connectivity problems, the Remote Desktop Licensing service is stopped on the license server, or RD Licensing isn't available.
RDSグレース期間(120日)のリセット方法(L$RTMTIMEBOMB)
RDSホストのイベントビューアーに記録されたイベントを注意深く確認してください。以下のようなエラーが記録されている可能性があります。
EventID: 1128 Source: TerminalServices-RemoteConnectionManager The RD Licensing grace period has expired and the service has not registered with a license server with installed licenses. A RD Licensing server is required for continuous operation. A Remote Desktop Session Host server can operate without a license server for 120 days after initial start up.

RDライセンス診断ツールでも、おそらく同様のエラーが表示されます。
The grace period for the Remote Desktop Session Host server has expired, but the RD Session Host server hasn't been configured with any license servers. Connections to the RD Session Host server will be denied unless a license server is configured for the RD Session Host server.
これは、RDSHサーバーのグレース期間が終了したことを意味します。グレースモードを延長するか、RDSライセンスサーバーでホストをアクティブ化する必要があります。
RDSのグレース期間とは、Windows Serverのリモートデスクトップサービスを120日間無料で利用できる猶予期間のことです。管理者としてRDSHにログオンした際、以下のような警告を目にしたことがある方も多いでしょう。
Licensing mode for the Remote Desktop Session Host is not configured. Remote Desktop Service will stop working in 86 days.
RDSグレース期間の残り日数は、管理者権限のコマンドプロンプトから以下のコマンドで確認できます。
wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TerminalServiceSetting WHERE (__CLASS !="") CALL GetGracePeriodDays

DaysLeft = 0 と表示された場合、このRDSHホストのグレース期間はすでに終了しています。
RDSのグレース期間を延長するには、サーバー上のレジストリから、グレース期間を決定しているパラメータを削除する必要があります。RDSグレース期間の日付は、以下のレジストリキーに保存されているreg_binary型のパラメータ L$RTMTIMEBOMB(TIME BOMB=時限爆弾という、なんとも皮肉な名前が付けられています)に格納されています。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod

L$RTMTIMEBOMBパラメータを削除する必要がありますが、通常の管理者権限では削除できず、以下のエラーが表示されます。
Unable to delete all specified values.

このレジストリパラメータを削除するには、親キーのアクセス許可を開き、自分のアカウントにキーの所有者権限を付与します。その後、Administratorsグループに「フルコントロール」のアクセス許可を設定してください。

これで、L$RTMTIMEBOMBパラメータを右クリックして削除できるようになります。

RDSHサーバーを再起動し、RDPクライアントで接続します。リモートデスクトップライセンスマネージャーを使用して、RDS CALが正常に発行されていることを確認してください。

もしRDS CALが取得できない場合は、イベントビューアーに以下のイベントが記録されていないか確認してください。
Event ID: 1130 Source: TerminalServices-RemoteConnectionManager The Remote Desktop Session Host server does not have a Remote Desktop license server specified. To specify a license server for the Remote Desktop Session Host server, use the Remote Desktop Session Host Configuration tool.

以下のPowerShellコマンドで、RDSライセンスサーバーが設定されているかどうかを確認できます。
$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
$obj.GetSpecifiedLicenseServerList()

SpecifiedLSListが空の場合、RDSライセンスサーバーが設定されていません。以下のコマンドで、RDライセンスサーバーを強制的に指定します。
$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
$obj.SetSpecifiedLicenseServerList("lon-rdslic.woshub.com")
また、グループポリシー(GPO)を使用して、ライセンスサーバー名とライセンスモードを設定することも可能です。ローカルGPOを使用する場合は、gpedit.mscを実行し、[コンピューターの構成] → [管理用テンプレート] → [Windowsコンポーネント] → [リモートデスクトップサービス] → [リモートデスクトップセッションホスト] → [ライセンス] に移動して、以下のポリシーを設定します。
- 特定のリモートデスクトップライセンスサーバーを使用する(Use the specified Remote Desktop license servers)
- リモートデスクトップライセンスモードを設定する(Set the Remote licensing mode)

以上の設定を行うことで、RDSホストはRDSライセンスサーバーからライセンスを正常に取得し、RDPユーザーへ発行できるようになります。
-
Windows 10でリモートデスクトップ接続を設定する方法【初心者向けガイド】
物理的に離れた場所にあるパソコンへリモートアクセスすることは、今では珍しいことではありません。この機能によって仕事の効率と生産性が向上し、多くの企業でも積極的に導入が進められています。ただし、リモートアクセス接続の安全性とセキュリティを確保することが非常に重要です。本記事では、Windows 10でリモートデスクトップを設定する具体的な手順を詳しく解説します。 Windows 10でリモートデスクトップアクセスを設定するには? リモートデスクトップアクセス機能は、MicrosoftがWindows OSに標準搭載しているユーティリティです。ただし、この機能はWindowsのProfession
-
Windowsでリモートデスクトップセッションを録画する方法【TweakShot Screen Recorder活用ガイド】
遠く離れた場所にあるPCにリモート接続することは、リモートセッションアプリを使えば簡単に行えます。しかし、そのセッションを録画できるかとなると話は別です。画面と音声を同時に録画するのは決して簡単な作業ではなく、それを実現できるアプリは限られています。今回は、画面上に表示されているあらゆる内容——ウェビナー、オンライン会議、ゲームプレイ、動画ストリーミング、そして何より重要なリモートデスクトップセッション——を画像としてキャプチャし、動画として録画できる「TweakShot Screen Recorder」をご紹介します。 TweakShot Screen Recorder – 優れたスクリーン