Windows 11でRDP経由の複数ユーザー同時接続: 実際に使える方法

12:14Claude が回答しました: Windows 11 では、同時に有効な RDP セッションは1つまでという厳格な制限が適用されており、2人目のユーザーが接続すると、最初のユーザーは次のメッセージとともに直ちに切断されます “…Windows 11 では、同時に有効な RDP セッションは1つまでという厳格な制限があり、2人目のユーザーが接続すると、最初のユーザーは次のメッセージとともに即座に切断されます “別のユーザーがサインインしています。続行すると、そのユーザーは切断されます。” これはハードウェア上の上限ではなく、termsrv.dll によって強制されるライセンス上の制限であり、マシンは技術的には性能面の問題なく複数の同時セッションを処理できます。Microsoft は Pro や Enterprise を含む標準のすべての Windows 11 エディションでこの制限を適用しており、Windows 11 上で複数の RDP セッションを同時に稼働させるには、別の OS へ移行するか、ライセンスの強制自体を迂回する必要があります。

同時に複数の人が同じマシンで作業する必要がある場合、知っておくべき選択肢がいくつかあり、それぞれコスト、複雑さ、ライセンスへの影響が異なります。また、独立した同時セッションではなく本当の目的がリモートアクセスであるなら、HelpWire はシステムファイルにまったく手を加えずに問題を解決できる可能性があります。

ほとんどの人が最初に試すことと、それが失敗する理由

最も一般的な“解決にならない対処”は、コンピューターの構成 > 管理用テンプレート > Windows コンポーネント > リモート デスクトップ サービス > リモート デスクトップ セッション ホスト > 接続 にあるグループ ポリシー設定「リモート デスクトップ サービスのユーザーを単一のリモート デスクトップ サービス セッションに制限する」です。これを無効にしても、2人の異なるユーザーが同時に接続できるようにはなりません。これは、切断済みの以前のセッションへ再接続するのではなく、同一ユーザー アカウントが2つ目のセッションを開けるかどうかを制御するものです。切り替えても、Windows 11 ワークステーション エディションでのマルチユーザー同時実行には何の効果もありません。

Windows 11 Enterprise を購入するのも別の行き止まりです。標準の Windows 11 Enterprise は、複数のローカル RDP セッションの同時実行をサポートしていません。Windows 11 Enterprise Multi-Session のマルチセッション機能は Azure Virtual Desktop 専用であり、物理ハードウェアやオンプレミスの仮想マシンではサポートされていません。

Windows 11 で複数の RDP セッションを有効にする方法

サポートされライセンスに準拠した方法はひとつだけです: Remote Desktop Services を備えた Windows Server です。以下で説明するそれ以外のものはすべて、Microsoft によるライセンスの執行を回避し、Windows エンドユーザー使用許諾契約(EULA)に違反します。これらの方法がここに記載されているのは、推奨されているからではなく、フォーラムで広く見られ、実際にユーザーが遭遇するためです。業務用や本番環境のマシンでは、こうした回避策に伴うライセンスおよびセキュリティ上のリスクは無視できないほど大きく、全面的に排除すべきです。

リモート デスクトップ サービス搭載の Windows Server (ライセンス済み)

単一のホスト上で複数の同時 RDP ユーザーに対応するためにサポートされ、ライセンス要件を満たす唯一のソリューションは、RDSH ロールを備えた Windows Server です。Windows Server 2025 では、追加の構成なしで 2 つの同時管理者セッションが許可されます。2 人を超えるユーザー、または管理者以外のアカウントの場合は、RDSH ロールをインストールし、RDS CALs を購入してください。

  1. 対象マシンに Windows Server 2025 または Windows Server 2022 をインストールします。

  2. サーバー マネージャーを開き、管理 > 役割と機能の追加をクリックします。

  3. リモート デスクトップ サービスのインストールを選択し、次にセッション ベースのデスクトップ展開を選択します。

  4. 対象サーバーにリモート デスクトップ セッション ホスト、リモート デスクトップ 接続ブローカー、リモート デスクトップ Web アクセスの役割を割り当てて、ウィザードを完了します。

  5. プロンプトが表示されたらサーバーを再起動してください。

  6. リモート デスクトップ ライセンス マネージャー (licmgr.exe) を開き、ライセンス サーバーをアクティブ化します。

  7. ライセンス ウィザードを使用して RDS CAL を追加し、環境に合わせて Per User または Per Device を選択します。

  8. gpedit.msc を開き、コンピューターの構成 > 管理用テンプレート > Windows コンポーネント > リモート デスクトップ サービス > リモート デスクトップ セッション ホスト > ライセンスに移動します。

  9. “指定されたリモート デスクトップ ライセンス サーバーを使用する” を有効にし、ライセンス サーバー名を入力します。

  10. CAL の種類に合わせて、”リモート デスクトップのライセンス モードを設定する” をユーザーごとまたはデバイスごとに設定します。

  11. コンピューターの管理 (compmgmt.msc) > ローカル ユーザーとグループ > ユーザーを開き、RDP アクセスが必要な各ユーザーごとに個別のローカル アカウントを作成し、各アカウントをリモート デスクトップ ユーザー グループに追加します。

RDP Wrapper (EULA 違反)

警告: RDP Wrapper は、Microsoft のセッション数制限に関するライセンスの強制を回避し、すべてのワークステーション エディションにおいて Windows の EULA に違反します。ビジネス、エンタープライズ、または本番環境には適していません。以下の手順は情報提供のみを目的としています。

RDP Wrapper は、Windows と TermService プロセスの間にシムを挿入し、DLL を直接変更することなく、termsrv.dll 内のセッション数制限チェックを傍受します。ツールは github.com/starcorp/rdpwrap でホストされています。

RDP Wrapper のインストール

  1. github.com/starcorp/rdpwrap から最新のリリースアーカイブをダウンロードし、ローカルフォルダーに展開してください。

    RDP Wrapper のインストール
  2. install.bat を右クリックし、管理者として実行します。

    install.batをクリックします
  3. インストールが完了したら、RDPWConf.exe を開きます。3 つのステータスインジケーターがすべて緑色になっているはずです。

    RDP Wrapper の設定
  4. compmgmt.msc > ローカル ユーザーとグループ > ユーザー で、個別のローカル ユーザー アカウントを作成します。

  5. 各アカウントをリモート デスクトップ ユーザー グループに追加します。

  6. 別々の RDP クライアントから同時に、2 つの異なるユーザーアカウントで接続してテストします。

Windows アップデート後も RDP Wrapper の動作を維持する

各 Windows の累積更新プログラムには新しい termsrv.dll のビルドが含まれる場合があり、RDP Wrapper ではビルド番号ごとに rdpwrap.ini に対応するエントリが必要です。エントリがない場合、RDPWConf.exe のステータス画面に「not supported」または「not listening」と表示され、同時セッションが動作しなくなります。starcorp のメインリポジトリは更新が遅いため、この回避策を維持するには、毎回の Patch Tuesday の後に、アクティブな GitHub フォークからコミュニティが保守している rdpwrap.ini を入手する必要があります。

 

現在の termsrv.dll のビルド番号を確認するには、管理者権限の PowerShell ウィンドウで次を実行します:

 

(Get-Item “C:\Windows\System32\termsrv.dll”).VersionInfo.FileVersion

  1. 現在の termsrv.dll のビルド番号に一致するコミュニティのフォークから、更新済みの rdpwrap.ini をダウンロードしてください。

  2. 管理者権限のコマンド プロンプトを開き、サービスを停止します: net stop TermService

  3. ダウンロードしたファイルで C:\Program Files\RDP Wrapper\rdpwrap.ini を置き換えてください。

  4. サービスを再起動します: net start TermService

  5. RDPWConf.exe を再度開き、すべてのインジケーターが緑色になっていることを確認してください。

Windows セキュリティが RDP Wrapper を脅威として検出した場合、それを重大なリスクの兆候として受け止めてください。機密データを扱うマシンや組織内で稼働しているマシン上でこのツールを使い続けるために、Windows Defender を上書きしたり無効化したりしないでください。入手元を確認し、ライセンス面での影響を精査し、サポート対象の Windows Server の方法のほうがご自身の状況により適切かどうかも検討してください。

termsrv.dll 直接パッチ (EULA 違反)

警告: termsrv.dll にパッチを当てることは、保護された Windows のシステムファイルを変更する行為であり、すべてのワークステーション エディションにおいて Windows の使用許諾契約(EULA)に違反します。これは業務、エンタープライズ、または本番環境には不適切です。以下の手順は情報提供のみを目的としています。

termsrv.dll のパッチは、ビルド固有のバイト オフセットにあるセッション制限チェックを削除します。termsrv.dll を置き換える累積更新が行われるたびに完全な再パッチが必要となり、バイト オフセットはビルド バージョンによって異なります。作業を進める前に現在の termsrv.dll のバージョンを確認し、ビルドごとにバイト オフセットが管理されている woshub.com の最新のパッチ スクリプトと照合してください。

パッチを適用中

  1. 管理者権限の PowerShell ウィンドウを開き、依存しているサービスを停止します: net stop TermService net stop UmRdpService

  2. termsrv.dll の所有権を取得する: takeown /F C:\Windows\System32\termsrv.dll icacls C:\Windows\System32\termsrv.dll /grant Administrators:F

  3. 変更する前に元のファイルをバックアップしてください: copy C:\Windows\System32\termsrv.dll C:\Windows\System32\termsrv.dll.bak

  4. インストールされているビルド バージョンを確認する: (Get-Item
    “C:\Windows\System32\termsrv.dll”).VersionInfo.FileVersion

  5. お使いのビルド番号用の確認済みパッチスクリプトを使用して、ビルド固有のバイト置換パッチを適用してください。

  6. サービスを再起動します: net start UmRdpService net start TermService

  7. テストするには、別のユーザー アカウントを使用して 2 つ目の RDP セッションに接続してください。

パッチの取り消し

パッチが不安定さを引き起こす場合、または Windows の更新前にそれを削除したい場合は、バックアップを復元してください:

copy /Y C:\Windows\System32\termsrv.dll.bak C:\Windows\System32\termsrv.dll net stop TermService net start TermService

Windows 11 Enterprise マルチセッション (Azure のみ)

Windows 11 Enterprise Multi-Session は、ネイティブに複数の同時 RDP セッションをサポートします。Microsoft はこれを Azure Virtual Desktop の展開専用としてライセンス供与しています。物理ハードウェアやオンプレミスの仮想マシンではサポートされておらず、Azure 以外で有効化することは Windows の EULA に違反します。

組織で Azure Virtual Desktop を使用している場合、これは完全にサポートされた方法です。セットアップには、Azure Marketplace から Windows 11 Enterprise Multi-Session のイメージを AVD のホスト プールにデプロイし、ホスト プールのプロパティで最大セッション数の上限を構成し、Azure Active Directory を通じてユーザーを割り当てることが含まれます。Azure Virtual Desktop の権利付与プロセスの外で行うあらゆる有効化方法は、ライセンス条項に違反します。

ローカルの物理マシンで複数のセッションを実行しようとしている場合、このオプションは、ライセンス違反なしには適用できません。

HelpWire - 複数のRDPセッションを可能にするよりシンプルな方法

支援、監視、または共同作業のために他者のマシンへ接続することが必要であれば、HelpWire は、Windows のセッション制限に手を加えたり、システムファイルにパッチを当てたり、Windows Server のライセンスを購入したりすることなく、それを解決します。オペレーターはユーザーの既存のセッションに直接接続し、ユーザーは自分のデスクトップに留まり、RDP の同時セッション強制は一切適用されません。

HelpWire は Windows、macOS、Linux で動作し、ポートフォワーディングを必要とせず、ポート 3389 が開いていることにも依存しません。無料で、有人・無人のアクセスの両方に対応し、ホストマシン側の設定変更なしで低速なネットワークでも動作します。

実際のニーズが、1 台のマシンで複数人に同時に完全に独立した Windows デスクトップを提供することではなく、リモートサポートや共有アクセスであるなら、上記のシステム変更に踏み切る前に HelpWire を試す価値があります。

よくある質問

標準の Windows 11 Enterprise は、ローカル マシンでの複数の同時 RDP セッションをサポートしていません。これをサポートするのは Windows 11 Enterprise Multi-Session のみで、Microsoft はこれを Azure Virtual Desktop での展開専用にライセンスしており、物理ハードウェアやオンプレミスの仮想マシン向けではありません。

各 Windows の累積更新プログラムによって、termsrv.dll が新しいビルド番号のものに置き換えられる場合があります。RDP Wrapper は、各ビルドに対応するエントリが rdpwrap.ini に必要です。ini ファイルに新しいビルドのエントリがない場合、RDPWConf.exe は “not supported” と表示し、rdpwrap.ini が新しいビルドに対する正しいオフセットで更新されるまで、マルチセッションは動作しなくなります。

Windows Server 2025 と Windows Server 2022 は、RDS CAL を必要とせず、管理者用の RDP セッションを同時に 2 つ許可します。3 つ目の同時接続には、構成されたライセンス モードに応じて、リモート デスクトップ セッション ホストの役割に加え、追加のユーザーまたはデバイスごとに 1 つの RDS CAL が必要です。

標準の Windows 11 インストールでは、サポートされている手段では実現できません。ライセンス上の正規の方法は、RDS CAL を伴う Windows Server の利用です。サポートされない回避策も存在しますが、Windows の EULA に違反し、特に業務用のマシンではセキュリティおよび保守のリスクを伴います。