Windows リモートデスクトップの「シャドウ・セッション」接続という標準機能があります。これを使うと、2人同時にリモート接続し、なおかつ画面を共有することが可能です。理屈はそこそこに、なるべくすぐに試せるよう、操作方法を解説します。
シャドウ・セッションとは
簡単に言えば、リモートデスクトップ画面を2人で共有するイメージです。
上図のクライアント1(1人目)は、通常のリモートデスクトップ接続と考えて下さい。そこに、右側のクライアント2(2人目)が、同じ画面を共有するために接続します。これがシャドウ・セッションです。どちらにも同じ画面が表示され、同時操作も可能です。
ちなみに2人目が、シャドウ・セッション接続でなく「普通の」リモートデスクトップ接続した場合、別のログオンセッション(別のログオン環境)になるか、あるいは1人目が追い出されて切断されてしまいます。
基本的なやり方
さっそく、シャドウ・セッション接続のやり方を見ていきましょう。同じコンピューターに対し、2人が同じリモートデスクトップで同じセッションに接続する例です。通常のリモートデスクトップができる環境であれば、特に設定変更なしで出来るはずです。
サインインとセッションIDの確認(1人目)
まずは、接続対象のコンピューターに対し、1人目が通常どおりリモートデスクトップ接続します。
そして、コマンドプロンプト(またはPowershellプロンプト)を開き、下図のように「query session」と入力します。表示された結果のうち、状態が「Active」の行(図の赤線部分)に注目します。この行の「ID」列の番号を、ここでは「セッションID」と呼び、これを覚えておきます。そしてリモートデスクトップ接続は切断せず、そのままにしておきます。
接続操作(2人目)
次は2人目がシャドウ・セッション接続をします。2人目の操作端末でコマンドプロンプト(またはPowershellプロンプト)を開きます。そして次のようなコマンドを実行します。最後の数字は、上で確認したセッションIDを指定します。
mstsc /v:{接続先のIPアドレス or 名前} /prompt /control /shadow:{セッションID}
コマンドに問題がなければ、下図のように資格情報が求められます。1人目のログオンユーザーと同じユーザー名・パスワードを入力します。
資格情報が正しい場合、下図のように接続中のダイアログが表示されます。1人目の承認操作が必要で、それを待っていますので、次の手順に進みます。
承認操作(1人目)
1人目のリモートデスクトップ画面を確認すると、下図のダイアログが出ています。ここで「はい」を選択します。
接続完了
承認操作をすると、2人目のシャドウ・セッション接続が完了します。下図のイメージのように、1人目と2人目の画面はシンクロして動きます。この方法だと(コマンドで /control をつけた場合)、1人目・2人目どちらも画面操作が可能です。
シャドウ・セッション接続を終了するには、2人目のウィンドウを「×」ボタンで閉じればOKです。基本操作の説明は以上です。
応用操作編1:承認操作を不要にする
上の手順の承認操作を不要にすることもできます。その方法を説明します。
まず、接続対象のコンピューターで、「ファイル名を指定して実行」で「gpedit.msc」を実行し、ローカルグループポリシーエディターを起動します。
次に左のツリーから、[コンピューターの構成] – [管理用テンプレート] – [Windows コンポーネント] – [リモートデスクトップサービス] – [リモートデスクトップセッションホスト] – [接続] とたどり、「リモート デスクトップ サービス ユーザー セッションのリモート制御のルールを設定する」をダブルクリックします。
開いたウィンドウで「有効」を選択します。そして、その下のオプションのドロップダウンボックスを操作し「ユーザーの許可なしでフルコントロール」を選択します。最後に、「OK」で適用します。
事前設定はこれで完了です。特に再起動などの操作は不要なようです。
シャドウ・セッション接続操作のコマンドでは、ひとつオプションを追加します。下図の赤線部分のように「/noConsentPrompt」をつけます。
mstsc /v:{接続先のIPアドレス or 名前} /prompt /control /noConsentPrompt /shadow:{セッションID}
応用操作編2:画面参照のみ(操作不可)にする
シャドウ・セッション接続した2人目が、コンピューターの操作不可にすることも可能です。その方法は、上で説明するコマンドから「/control」を除くだけです。コマンド例は次の通りです。
mstsc /v:{接続先のIPアドレス or 名前} /prompt /shadow:{セッションID}
(承認不要の場合)
mstsc /v:{接続先のIPアドレス or 名前} /prompt /noConsentPrompt /shadow:{セッションID}
おわりに
今回の記事は以上です。
当サイトでは、ITインフラ関連の知識やノウハウをメインに紹介しています。下の関連記事にも役立つ情報があるかもしれませんので、ぜひご覧下さい。
また、知識やノウハウを効率的に学ぶ方法として、Udemy の「ながらセミナー」もおすすめです。三日坊主にならず、普段の生活の中でスキルアップする方法です。これについては下の記事で紹介していますので、良ければご覧下さい。
最後まで読んでいただき、ありがとうございました。
フィードバック
あなたが抱えている疑問や悩みは解決できたでしょうか?当ブログではそれを最重視しています。今後もあなたの役に立つ情報を提供するために、ぜひ教えて下さい。
コメント
記事をありがとうございます。
おかげさまで、シャドウイングを試すことが出来ました。
まず、下記の環境でシャドウイングができました。
「接続対象コンピューター」と「クライアント2」が自宅ネットワーク
「クライアント1」は、外出先のネットワーク
しかし、「クライアント2」が自宅ネットワークとは違うネットワークのとき、
すなわち、3者のコンピューターがそれぞれ別のネットワークにあるときは、
「クライアント2」でシャドウイングを試みますと、
「シャドウエラー このコンピュータ―名は無効です」がポップアップして接続できませんでした。
3者のコンピューターがそれぞれ別のネットワークにあるときにシャドウイングをするときに、追加して設定すべき項目がありましたら、
ご教示をいただけますと幸いです。
お手数をおかけしまして恐縮ですが、よろしくお願いいたします。
異なるネットワーク間で検証できていないので想像になりますが、いくつか考えられそうなことを記載します。
(1) Windowsファイアーウォールがブロックしている
→一時的に「接続対象コンピューター」のWindowsファイアーウォールを無効にすると切り分けできそうです。この時、すべてのプロファイル(プライベート、パブリック、ドメイン)を無効にして試します。
(2) 名前の指定が正しくない
→コンピューター名やFQDNで指定している場合は、IPアドレスで試してみると切り分けできます。
(3) ルーターのポート設定の問題
→ルーターを介してシャドウイングする場合、ポート設定が必要な可能性があります。公式の情報は見つけられていませんが、シャドウイングに必要なポートは、通常のRDPポート(3389)とは異なるようです。一説では1024-65536とのことで、これだとルーター経由の接続は厳しそうです。