リモートデスクトップで同一ユーザーが同時に異なる2画面で操作をする方法
本エントリーの目次
リモートデスクトップを使ってサーバーの設定や運用、管理を行っていると、作業を分担して短時間で完了させたい。
作業ごとに異なるリモートデスクトップセッションを使って作業をしたい。
といった理由から2画面(2セッション)で操作をしたいと感じることがあります。
リモートデスクトップを使い、同一ユーザーが同時に異なる2画面で操作をしたい!
本エントリー執筆時点の最新のWindows Server OSであるWindows Server 2019では、異なるユーザーアカウントを使用してリモートデスクトップ接続を行った場合、同時に最大2ユーザーが接続可能です。※
ですがサーバーの設定や運用、管理をする際などは、特定のユーザーアカウントを使う必要がある。
というケースも少なくないでしょう。
初期設定状態のWindows Server 2019では、一つのユーザーアカウントからのリモートデスクトップ接続は、同時に最大1セッションに制限されています。
そのため、すでにリモートデスクトップで接続中のユーザーアカウントの資格情報を使って、(2セッション目の)リモートデスクトップ接続を開始しようとすると、『リモートデスクトップサービスセッションが終了しました。別のユーザーがリモートコンピューターに接続したため、接続が失われました。接続を再試行するか、ネットワーク管理者またはテクニカルサポートグループに問い合わせてください。』というメッセージが表示されます。
そして後から接続操作を行ったリモートデスクトップが優先して接続され、すでに通信中であったリモートデスクトップ接続は終了されてしまいます。
こういった動作となってしまうため、リモートデスクトップを使って同一ユーザーが同時に異なる2画面(2セッション)で操作(接続)をすることは、初期設定状態のWindows Server 2019ではできません。
しかし設定変更をすることで、同一ユーザーが同時に異なる2画面で操作を可能にできます。※
というわけで今回は、リモートデスクトップを使って同一ユーザーが同時に異なる2画面(2セッション)を操作(接続)できるようにする方法をご紹介します!
※Windows Serverでは、その管理を目的としたリモートデスクトップ接続について、2セッションまで許可されており、同時に2ユーザー(それぞれが1セッションで合計2セッション)の接続、または同一ユーザーの異なる2画面(各画面が1セッションで合計2セッション)での接続が可能です。
リモートデスクトップを使って、同一ユーザーが同時に異なる2画面(2セッション)を操作できるようにする方法
初期設定状態のWindows Server 2019で、同一ユーザーが同時に異なる2画面(2セッション)を操作(接続)できないのは、ローカルグループポリシーの設定で制限されているからです。
したがってローカルグループポリシーエディターを開いて設定を変更すれば、接続が可能となります。
『ローカルグループポリシーエディター』は、デスクトップなど任意の画面を表示した状態で、『Windows』キーを押しながら『R』キーを押下。
『ファイル名を指定して実行』画面を表示し、『名前』のテキストボックスに『gpedit.msc』と入力してから『Enter』キーを押下することで起動可能です。
『ローカルグループポリシーエディター』を起動したら、以下のようにポリシーを展開してください。
[コンピューターの構成] – [管理用テンプレート] – [Windowsコンポーネント] – [リモートデスクトップサービス] – [リモートデスクトップセッションホスト] – [接続] – [リモートデスクトップサービスユーザーに対してリモートデスクトップサービスセッションを1つに制限する]
そして[リモートデスクトップサービスユーザーに対してリモートデスクトップサービスセッションを1つに制限する]ポリシーを『無効』に変更してください。(初期設定では『未構成』となっています。)
この設定を変更後は、リモートデスクトップ接続時にすでに接続中のユーザーの資格情報を指定して接続を行うと、新たなリモートデスクトップセッションが確立され、リモートデスクトップ接続が成功します。
尚、同一ユーザーで同時にリモートデスクトップ接続を行った場合では、一方のセッションでデスクトップにあったフォルダーを削除すると、当然のことながらもう一方のセッションのデスクトップからも同時にフォルダーが削除されるなど、一方の操作がもう一方のセッションに影響を与えることがあります。
すでにリモートデスクトップのセッションが2つ確立・使用されている場合
先にも書いたとおり、Windows Serverは管理を目的としたリモートデスクトップ接続について、2セッションまでの許可となっています。
したがって異なる2つのユーザーアカウントが接続している。
または同一ユーザーが同時に異なる2画面の操作を行っているなど、すでに2つのセッションが確立・使用されている場合、3セッション目のリモートデスクトップ接続を試みた際、ただちに新しいセッションは作成されません。
そして以下のような『接続を切るユーザーを選択するとサインインできるようになります。』というメッセージダイアログが表示されます。
このメッセージ中の『キャンセル』ボタンを押下すると、すでに使用されている2セッションの接続は維持され、3セッション目の接続がキャンセルされます。
既存の2セッションのうちのどちらかを切断して、新しいセッションで接続を行う場合には、『アクティブ』と表記されているセッションのいずれかを選択してください。
すると選択されたセッションの画面上に、『このPCへの接続を<ユーザー>に許可しますか?』というメッセージダイアログが表示されます。
この画面で『キャンセル』ボタンを押すと、既存セッションの切断がキャンセルされ、既存2セッションの接続は維持。
新たに接続を試みた3セッション目の接続がキャンセルされます。
『OK』ボタンを押した場合、またはボタン操作をせずに30秒経過すると、選択されたセッションが切断されて新しいセッション(3セッション目)が作成され、リモートデスクトップ接続が成功します。
※『接続を切るユーザーを選択するとサインインできるようになります。』というメッセージダイアログで、『このユーザーの接続を強制的に切る』にチェックを入れてから、セッションを選択した場合は、選択したセッションの画面に確認メッセージを表示せずに切断が実行され、新しいセッションが作成されます。
セッションのサインアウト(ログオフ)と切断について
初期設定状態のWindows Server 2019と、[リモートデスクトップサービスユーザーに対してリモートデスクトップサービスセッションを1つに制限する]ポリシーを『無効』に設定(以下ポリシー変更と表記)したWindows Server 2019では、リモートデスクトップ接続時のセッション関連の動作が少し変わります。
そこでこれについても、少しふれておきましょう。
初期設定状態のWindows Server 2019では、リモートデスクトップ接続を行うと、物理コンソールのセッションに接続されるような動き※となっています。
そしてリモートデスクトップウィンドウの✕ボタンをクリックして、リモートデスクトップウィンドウを閉じると、セッションが切断されます。
※Windows Server 2019で確認したところ、厳密には接続前の物理コンソールのセッションIDに対し、リモートデスクトップ接続が実行され接続を確立。そして物理コンソールのセッションIDは別の番号に変更されています。またこのリモートデスクトップ接続を切断してから、物理コンソールでログオンを行うと、リモートデスクトップ接続のセッションID(元々は物理コンソールのセッションID)に対してログオンが実行されています。このとき、不要となったリモートデスクトップセッションは自動的に終了されており、必要以上にリモートデスクトップセッションは増えません。
対してポリシー変更後では、リモートデスクトップ接続を行うと、新規リモートデスクトップセッションが作成され、自動的に終了されません。
そのためリモートデスクトップの接続操作と切断操作(ウィンドウの✕ボタンクリックなど)を繰り返すと、切断状態のリモートデスクトップセッションが増えてしまうのです。
そこでポリシー変更後にリモートデスクトップ接続を終了する際は、『切断』ではなく『サインアウト(ログオフ)』操作を行うようにしてください。
この操作により、当該リモートデスクトップセッションが終了し、切断状態のリモートデスクトップセッションが残ることで増えてしまう現象を回避できます。
他のセッションを切断する方法
現在接続中のセッションから、他のセッションを切断したい場合には、PowerShellを起動して、『query session』コマンドを実行してください。
すると以下のような結果文字列が表示されるので、『状態』が『Active』となっている切断対象のセッションの『ID』を調べましょう。
1 2 3 4 5 | PS C:\Users\Administrator> query session セッション名 ユーザー名 ID 状態 種類 デバイス services 0 Disc console 1 Conn >rdp-tcp#1 Administrator 2 Active |
セッションIDが分かったら、以下のように『tsdiscon セッションID』の形式のコマンドを実行してください。
1 | tsdiscon 3 |
この例では、セッションIDが3のセッションが切断されます。
尚、セッションIDに現在操作中である(tsdisconnコマンドを実行する)セッションのIDを指定することも可能です。
この場合には、自身のセッションが切断されます。
また『タスクマネージャー』を『詳細表示』で開き、『ユーザー』タブ上で対象のセッションを右クリックしてコンテキストメニューを表示。
そして表示されたメニューの中から『切断』ボタンをクリックすることでも、切断できます。
他のセッションをサインアウト(ログオフ)する方法
現在接続中のセッションから、他のセッションをサインアウト(ログオフ)したい場合には、PowerShellを起動して、『logoff セッションID』形式のコマンドを実行します。
※対象のセッションIDは、『query session』コマンドで確認。
たとえばセッションIDが3のセッションに対し、サインアウト(ログオフ)操作を実行したい場合には、以下コマンドを実行します。
1 | logoff 3 |
『切断』と同様に、『タスクマネージャー』から他のセッションをサインアウト(ログオフ)させることも可能です。
この場合には、『タスクマネージャー』を『詳細表示』で開き、『ユーザー』タブ上で対象のセッションを右クリックしてコンテキストメニューを表示。
そして表示されたメニューの中から『サインオフ』ボタンをクリックすることで、サインアウト(ログオフ)を実行してください。
他のセッションに接続する(切り替える)方法
現在接続中のセッションから、他のセッションに接続を切り替えることも可能です。
接続中のセッションを切り替える際は、『tscon セッションID』形式のコマンドを実行します。
※対象のセッションIDは、『query session』コマンドで確認。
セッションIDが3、パスワードがAbcd1234のセッションに接続を切り替える場合は、以下コマンドを実行します。
1 | tscon 3 /password:Abcd1234 |
こちらも『切断』と同様に、『タスクマネージャー』から操作可能です。
『タスクマネージャー』を使用する場合は『タスクマネージャー』を『詳細表示』で開き、『ユーザー』タブ上で対象のセッションを右クリックしてコンテキストメニューを表示。
そして表示されたメニューの中から『接続』ボタンをクリックし、パスワードを入力することで接続できます。
以上、参考になさってくださーい!