Windows Serverはリモートデスクトップ接続を使った同時接続数に上限が存在する。この上限を超過して追加ユーザーがサーバに接続しようとすると、すでに接続されている既存ユーザに対してログオフを促すよう通知を行う仕様となっている。以下のダイアログボックスが、上限を超えて追加で接続を行ったユーザに表示される。
また、新規接続ユーザから通知された既存ユーザの画面には以下のダイアログボックスが表示される。
このリモートデスクトップ(RDP)接続上限設定、サーバ初期構築したタイミングで設定変更することが多いので、コマンドライン(PowerShell)での変更方法について調べてまとめた。検証環境はAzure VM Windows Serverで行った。Azure VMのWindows Serverは既定で2接続まで許可されているようなので、今回は上限接続数を1つに絞るための方法を検証したい。
今回は2022/2019と2つのエディションで検証した。
- OSエディション:Windows Server 2019 / Windows Server 2022
- バージョン:Datacenter
- SKU:Standard B2s (2vcpu、4 GiBメモリ)
- ディスク: OSディスク(128GB Standard SSD) , 一時ディスク(8GB)
regコマンドでRDP接続上限のレジストリ情報を変更する
これらの設定情報はレジストリとして管理されているため、コマンドラインで設定変更を行うにはreg.exeを実行する必要がある。このコマンドをPowerShellから実行してみる。
以下のレジストリキーの値[fSingleSessionPerUser]のデータを1から0に変更することで、Azure VMのRDPの接続上限数を2から1に変更することができる。
HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server
具体的なコマンドとしては以下の通り記述する。これはWindows2019でもWindows2022でも同様の内容となる。(当然だが)Terminal Serverの文言はダブルクォーテーションで括らなければならなかった。そのまま実行したら構文エラー扱いでコマンド実行が失敗した。
reg add HKLM\SYSTEM\CurrentControlSet\Control\"Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 1 /f
これで、接続上限数が1に変更された。
試しに対象のサーバに対して、2つの接続を作成してみたが、既存の1つめの接続に対して以下のダイアログが表示され、いきなり接続が終了されてしまった。
とりあえずこれで、接続上限数の変更を2接続から1接続に変更することができた。
ローカルグループポリシーエディターの接続数制限設定について
Windows Serverのローカルグループポリシーには、リモートデスクトップ接続の上限数を制限するためのポリシーが存在する。
[コンピューターの設定→[管理用テンプレート]→[Windowsコンポーネント]→[リモートデスクトップサービス]→[リモートデスクトップセッションホスト]→[接続]に[接続数を制限する]という設定項目がある。
この項目については有効化を行ったがなぜか設定が反映されなかった。一見すると先ほど変更したレジストリとは関係性がなさそうではある。不明点が多いため、この辺りは、別の機会に検証してみようと思う。(関係性の有無、どちらが優先なのか、ローカルグループポリシー側の効果の有無、など)
コメント