2013/06/21

CW アーカイブ > 管理者悲痛? 人知れず削除されたRDPのシャドウ機能 (そして復活の予定)

このコンテンツは、今は亡き C○MPUTERW○RLD.JP のブログで過去に公開されていたもののオリジナル原稿です。どこぞからクレームがこない限り、もったいないなぁと思う過去の記事を勝手に再掲載していく予 定。どこぞからクレームがついたら、即削除しますが...

この投稿の最後に、この過去の記事で説明しているシャドウ機能の復活情報があります!!

C○MPUTERW○RLD.JP Blog > 管理者悲痛? 人知れず削除されたRDPのシャドウ機能 [2012 年 12 月 17 日]


先月 (注: 2012 年 11 月のこと) 、Windows 7 SP1向けのRDP 8.0更新(KB2592687)について、いろいろと制約事項を説明しましたが、その中でリモートデスクトップ接続のホストとしてRDP 8.0を有効にすると、シャドウ セッション機能が利用できなくなると書きましたが、補足させてください。正確には“RDP 8.0のセッションでshadow.exeコマンドが機能しなくなる”です。実は、RDPのシャドウ セッション(リモート制御)機能、RDP 8.0が標準のWindows 8やWindows Server 2012からは削除されてしまいました。

以前の投稿:
結局のところ RDP 7.1をRDP 8.0に更新していいの? (2012/11/12)
http://www.computerworld.jp/blogs/d/205471
RDP 7.1をRDP 8.0に更新する前に(その2)(2012/11/05)
http://www.computerworld.jp/blogs/d/205392
RDP 7.1をRDP 8.0に更新する前に知っておくべきこと (2012/10/29)
http://www.computerworld.jp/blogs/d/205317

RDPのシャドウ セッション機能は、リモートデスクトップ(RD)セッションホスト(旧ターミナルサービス)のアクティブなRDPセッションに、別のRDPセッションを接続して、1つのRDPセッションを共有できる機能です。この機能は、Windows Serverにターミナルサービスが実装されたWindows 2000 Serverから利用可能でした。その前のWindows NT 4.0 Terminal Server EditionでもCitrix Metaframe(現在のCitrix XenAppの前身)アドオンおよびICAクライアントがシャドウ セッション機能を提供しました。

RDPのシャドウ セッション機能は、例えば、RDセッションホストによるシンクライアント環境において、ユーザーのヘルプデスクを同じ画面を表示させながら行ったり、教育現場で講師がユーザーの操作画面を表示したりするのに利用できます。シャドウ セッション機能は、マルチユーザーセッションに対応していないWindows 7/Vista/XPのリモートデスクトップ接続のホスト機能では利用できない機能なので(例えば、VDIの仮想デスクトップには使用できない)、古くからある機能ですが、あまり知られていないかもしれません。そこで、どんな機能なのか、使い方を紹介します。

同じRDセッションホストに対して、一般ユーザーと管理者がそれぞれRDP接続します。管理者は、「リモート デスクトップ サービス マネージャー」を使用して、一般ユーザーのセッションに対して「リモート制御」を実行します。この操作は、次のようにshadow.exeコマンドを使用して開始することもできます。

shadow.exe セッション名またはID


接続される側のユーザーがリモート制御の要求を受け付けると、管理者側にユーザーと同じ画面が表示されます。グループポリシー設定でリモート制御の要求の許可を不要にしたり、参照専用での接続にしたりできます。


これを図で表すと次のようになります。


RDP 8.0の有効化で利用できなくなるというWindows 7のshadow.exeですが、上の図の利用環境では使われていません。つまり、クライアント側のWindows 7 SP1をKB2592687でRDP 8.0クライアントに更新しても、ポリシーでRDP 8.0を有効化しても、あるいはクライアント側がWindows 8(RDP 8.0標準)であったとしても、上の図のシャドウ セッションは関係なく機能します。

シャドウ セッションは、次の図のように、別のコンピューター(RDセッションホストでなくても可)に対するRDPセッションから開始することもできます。例えば、別のWindows 7コンピューターにRDP接続して、そこからRDセッションホストの特定のアクティブセッションに接続するには、Windows 7のshadow.exeコマンドを使用して、セッションとRDセッションホストを指定して接続します。

shadow.exe セッション名またはID /server:RDセッションホスト名



RDP 8.0更新(KB2592687)およびRDP 8.0の有効化で利用できなくなるのは、このときに使用されるshadow.exeコマンドです。RDP 8.0更新(KB2592687)だけなら、shadow.exeコマンドは従来どおりに機能しますが、「リモート デスクトップ プロトコル 8.0を有効にする」ポリシーを有効にした場合、shadow.exeコマンドの実行はエラーで失敗するようになります。






・・・

このようにRDP 8.0更新(KB2592687)でシャドウ セッション機能が利用できなくなるのは、あまり無い条件下でのみのこと。ほとんどの利用環境には影響しないでしょう。では、RDP 8.0が標準で、RDP 7.x以前にダウングレードできないWindows 8やWindows Server 2012では、シャドウ セッション機能はどうなっているのでしょうか?

その答えは、以下のブログにあるとおり、“The Remote Control (shadowing) feature has been removed from Windows Server 2012. /リモート制御(シャドウイング)機能は、Windows Server 2012から削除しちまったぜぃ”

Server & Tools Blogs > News & Comments Blogs > Customer Reviews of STB products
[URL] http://blogs.msdn.com/b/customer_reviews_of_stb_products/archive/2012/09/05/managing-rds-vdi-with-windows-server-2012.aspx

Windows 8やWindows Server 2012にshadow.exeは存在しません。また、「リモート デスクトップ サービス マネージャー」もありません。シャドウ セッションに変わる機能は、リモート デスクトップ サービスでは提供されません。ちなみに、以下の公式な情報では、この機能が削除されたことについて言及されていませんね。

Windows Server 2012 で削除された機能または推奨されなくなった機能
http://technet.microsoft.com/ja-jp/library/hh831568.aspx

これまでシャドウ セッション機能を利用してきたという人にとっては、機能の削除は衝撃的なはずです。これを理由に、Windows Server 2012にアップグレードしたくても、できないというところもあるかもしれません。

代替策としては、リモートアシスタンスを利用する方法があります。System Center Configuration Managerからリモートアシスタンスを開始して、ユーザーのアクティブ セッションに接続するという代替策について試してみましたので、私の個人ブログをご覧ください。

Windows Server 2012 テクノロジ入門 > RDP のリモート制御は削除されました (影響大かも)
http://yamanxworld.blogspot.jp/2012/11/windows-server-2012-rdp.html
 
・・・

話をちょっと戻して、最初のほうで、シャドウ セッション機能はマルチユーザーに対応していないWindows 7/Vista/XPのリモートデスクトップ接続のホスト機能では利用できない機能と説明しました。また、Windows 8からシャドウ セッション機能が削除されたことは今説明したばかりです。では、次の画面はどう見えますか?





Windows 8に対するRDPセッションをシャドウしているように見えませんか。比較できるように、同じコンピューターからRDP接続していますが、それぞれのウィンドウが別のコンピューターだと思ってください。できないはずのことができています。

この種明かしは、以下のサポート技術情報で説明されているのと同じ、古くからあるテクニックです。

How To Shadow a Remote Desktop Session in Windows XP Professional
http://support.microsoft.com/kb/279656

このサポート技術情報を見ても、文字だけで説明されると???だと思います。簡単に言うと、RDセッションホストのアクティブセッションの中でリモートのWindows 8にRDP接続したところに、シャドウ セッションを接続しているのです。シャドウしているのは、あくまでもRDセッションホスト上のアクティブセッション。Windows 8のデスクトップは、そのセッションの中の1つのアプリケーションでしかありません。リモートデスクトップ接続の全画面表示を解除すると、こんな感じ。



図にすると、こうなっています。

 



このシャドウ セッションの使い方、面白いですし、サポート技術情報まであるんですが、あまりにも回りくどくて、これといった使い道が思い当たらないんですよね。





ご注意: この記事は過去に C○MPUTERW○RLD.JP にて掲載されていたブログの再掲載です。

!?  朗  報  !?

Windows Server 2012 R2 と Windows 8.1 では、シャドウ機能が復活するようです。ここの説明だと RD セッション ホスト サーバーとあるように、VDI の仮想デスクトップに対するシャドウ機能ではない(はず)ですのでご注意。Windows Server 2012 R2 の新機能の中に埋もれて、人知れず復活となるでしょう。


What's New in Windows 8.1
[URL] http://technet.microsoft.com/en-us/windows/dn140266.aspx

RDS Enhancements
Enhanced Virtual Desktop Infrastructure (VDI) in Windows Server 2012 R2 with improvements in management, value, and user experience. Session Shadowing allows administrators to view and remotely control active user sessions in an RDSH server....