デスクトップ ファイルRDP について理解する

Wes Miller

リモート デスクトップ プロトコル (RDP) を使用すると、リモートでコンピュータにアクセスできるようになります。この非常に便利なテクノロジによって、これまでにシステム管理作業が大幅に軽減されてきたことは間違いありません。RDP は、その長い歴史の中で、リモート アクセスのサポートの提供を徐々に強化してきました。このテクノロジは、1998 年にリリースされた Windows NT 4.0 Terminal Server Edition (TSE) で初めて導入され、

それ以降ほぼすべての Windows® リリースで強化されてきました。

Windows 2000 では、ターミナル サービスがオプションの Windows コンポーネントとして導入され、サーバー システムを実際のターミナル サーバーとして使用するか、現在で言うリモート デスクトップ用に使用するかを構成できるようになったため、これ以降、ほぼすべてのユーザーがリモートで容易にサーバー システムにアクセスできるようになりました。Windows Server® 2003 と Windows XP ではネイティブでリモート デスクトップ機能が提供され、サーバー システムをローカル システムであるかのように制御できるようになりました。現在では、私は毎日リモート デスクトップを使用して、自宅の PC とサーバーにリモートでアクセスしたり、Media Center Extender を使用したりしています。

Windows XP とそれ以降の Windows のバージョンでは、リモート アシスタンスが追加されました。この機能では、リモート デスクトップのようなエクスペリエンスが提供されますが、その設計は、ローカル ユーザーがリモート ユーザーに支援を求めることを目的としています。リモート アクセスのサポートは Windows Vista® でも強化されました。Windows Vista では、グループ ポリシーで許可されていれば、リモート ユーザーがリモート アシスタンスを提供できるようになりました。

この記事で後述するように、リモート デスクトップにより、この強力な機能がまったく新しいレベルへと引き上げられます。これらの機能強化は、どれも非常に役立つものばかりです。もちろんリモート デスクトップにもいくつかの制限はありますが、提供される利点も数多くあります。これからその両方を見ていきましょう。

利点、欠点、およびすばらしい機能

Windows XP (Media Center Edition は除きます) の大きな制限として、同時に対話形式でログオンできるユーザーが 1 人のみであるという点が挙げられます。Windows XP のユーザーの簡易切り替えを使用すると、複数のユーザーがログオンできますが、それらのユーザーがローカルまたはリモートのどちらでログオンしているかにかかわらず、マウスやキーボードを使用して対話形式でログオンできるユーザーは 1 人のみです。(ターミナル サーバーとして実行されていない) Windows Server のバージョンを使用すると、同時に 2 つのリモート デスクトップ セッションを接続できます。リモート デスクトップを使用して、Windows Server 2003 の実際のコンソール セッションに接続するには、オプション パラメータの /console を指定してターミナル サービス クライアント アプリケーション (MSTSC.exe) を起動します。ターミナル サービス セッションを考慮に入れて適切に設計されていない一部の古いアプリケーションでは、多くの場合、コンソール セッション (セッション 0) でのみダイアログがポップアップ表示されるため、このコンソール セッションは非常に重要です。図 1 は、Windows Server 2003 のコンソール セッションにログオンしたユーザーを示しています。Windows XP と Windows Server 2003 のリモート デスクトップは、ライセンス認証を強制することによって、許可されている数のユーザーのみが対話形式でログオンしていることを保証します。

図 1 セッション 0 へのログオン

図 1** セッション 0 へのログオン **(画像を拡大するには、ここをクリックします)

また、リモート デスクトップのエクスペリエンスは、ネットワーク帯域幅とグループ ポリシーの影響を受ける可能性があります。Windows XP では、24 ビットの解像度が提供されます。また、音声、ローカル プリンタ、およびディスクのリダイレクト機能と、切り取りと貼り付けを可能にするためのクリップボードのリダイレクト機能も提供されます。リモート デスクトップの描画動作を考慮すると、リモート セッションからグラフィック要素 (テーマや背景など) を除外すれば、使用可能なネットワーク帯域幅が大幅に増加するため、ユーザー セッションの応答速度が向上します。Windows Vista では、32 ビットの解像度と新たなデバイスのリダイレクト機能を追加することによって、この機能を実現しています。

帯域幅が十分に確保されていない場合、優れたリモート デスクトップ セッションでも、表示処理を集中的に実行する操作などは時間がかかる可能性があるため、状況に応じた接続計画を立ててください。

Windows Vista での新機能

Windows Vista では、リモート デスクトップに大幅な変更が加えられました。既に説明しましたが、視覚的に最もわかりやすい変更点は、32 ビットの解像度やフォント スムージングなどです。関連する機能拡張としては、複数のモニタにまたがって Windows Vista セッションを実行する機能が挙げられます。この機能を使用するには、/span コマンドを使用してターミナル サービス クライアントを起動します。/span は Windows Vista のリモート ホスト システムでのみ機能します。このコマンドを使用するには、クライアントのすべてのモニタの解像度が同一であり、モニタが横 1 列に並べられている必要があります。この複数のモニタにまたがった表示は、リモート システム (クライアント) を 1 つの大きなモニタとして扱うことによって実現されます。つまり、アプリケーションの表示を最大化すると、予期しない現象が発生する場合があります。たとえば、ダイアログが不便な位置に配置され、ユーザーがそのダイアログを移動する必要が生じます。

また、接続元が Windows Vista クライアントであり、リモート システムが Windows Vista システムである場合、リモート セッションのユーザー インターフェイスを Windows Aero™ グラス モードで実行できます (リモート システムで Aero グラスがサポートされていない場合でも、ローカル システムでサポートされていれば、Aero グラス モードで実行できます)。これは、クライアントが Windows Vista である場合に、ウィンドウ管理操作の大部分をクライアント システムで実行することを目的として、Windows リモート デスクトップのアーキテクチャが変更された結果、実現された動作です。サーバー システムで実行される操作が減少することにより、ユーザー エクスペリエンスが向上するだけでなく、帯域幅の使用率も低下します。

Windows Vista では、重要なセキュリティの機能拡張であるネットワーク レベル認証 (NLA) が提供されます。NLA により、悪意のあるユーザーが接続先のサーバーをスプーフィングする man-in-the-middle 攻撃からコンピュータを保護できます。また、認証時に完全な Windows ユーザー インターフェイスを起動しないことにより、リモート システムへの影響が最小限に抑えられるだけでなく、サービス拒否攻撃を受けにくくなるため、認証エクスペリエンスが強化されます。NLA を使用するには、クライアント システムとリモート システムの両方に Windows Vista がインストールされている必要があります。図 2 は、認証を強制するか、警告するか、認証の結果にかかわらず接続するかを RDP 6.0 クライアントから指定する方法を示しています。Windows Vista よりも古い Windows のバージョンを実行しているリモート システムに接続する場合、その接続は失敗するため、少なくともその接続に対して警告を表示するように設定しておく必要があります。

図 2 接続に関する詳細設定

図 2** 接続に関する詳細設定 **(画像を拡大するには、ここをクリックします)

リソースのリダイレクトが強化された (ドライブとプリンタだけではなくなった) ことも、Windows Vista における重要な RDP の機能拡張です。リモート システムにドライバが存在し、デバイスでリダイレクトがサポートされていれば、スマート カードなど、さらに多くのデバイスの種類をリダイレクトできるようになります。製造元によって、さらに多くのデバイスの種類がサポートされる可能性もあります。

Windows Vista では、RDP 6.0 クライアントからのゲートウェイ サーバーの使用がサポートされています。これにより、ユーザーは VPN 接続やサードパーティ製のソフトウェアを使用することなく、インターネット経由でシームレスに職場のシステムに接続できるようになります。図 3 は、ターミナル サービス ゲートウェイ サーバーの設定を示しています。ゲートウェイ サーバーは、VPN のようなものと考えることができますが、RDP 6.0 クライアント ソフトウェア以外の特定のクライアント ソフトウェアをインストールする必要はありません (VPN の設定や専用のソフトウェアは必要ありません)。

図 3 ターミナル サービス ゲートウェイ サーバーの設定

図 3** ターミナル サービス ゲートウェイ サーバーの設定 **(画像を拡大するには、ここをクリックします)

Windows Vista には、RemoteApp™ と呼ばれる新機能用のインフラストラクチャが含まれています。ここで RemoteApp の機能について説明しましょう。通常、リモート デスクトップを使用すると、Windows セッション全体に接続できるようになります。しかし、Microsoft® Word や Microsoft PowerPoint® を実行することのみが目的である場合も考えられます。RemoteApp を使用すると、そのような目的の操作のみを実行できます。堅牢なアプリケーションの共有を可能にするシナリオは、Windows Server 2008 でも実現されます。

さらに、Windows Vista では Windows Desktop Sharing (Windows デスクトップ共有) API のサポートが追加されました。この API を使用すると、グループ作業用の共有アプリケーションを公開できます。マイクロソフトのターミナル サーバー チームのブログ (blogs.msdn.com/ts/ archive/2007/03/23/writing-a-desktop-sharing-application.aspx) で提供されているサンプル アプリケーションを実行することにより、Windows Desktop Sharing API の動作を確認できます。

Windows Vista 以降の重要な変更として、ユーザーがセッション 0 (従来はコンソール セッションと呼ばれており、古いアプリケーションではダイアログ メッセージがポップアップ表示されます) にほぼアクセスできなくなったことが挙げられます。これにより、(対話形式ではないがセッション 0 で実行される) システム サービス間の対話性が低下し、対話ユーザーが減少します。また、(ユーザー アカウント制御やその他のセキュリティ機能拡張によって) 特権操作を減らすことに重点が置かれた Windows Vista では、サービスや対話ユーザーに必要以上の特権が与えられなくなるため、攻撃を受ける確率が低下します。通常は、Windows Vista で古いソフトウェアを実行していて、そのソフトウェアのインストール時や実行時に異常が発生しない限り、このことを気にする必要はありません。

リモート デスクトップが提供されるオペレーティング システム

どのオペレーティング システムでリモート デスクトップを使用できるかを知っておくことは重要です。リモート デスクトップ機能が含まれているオペレーティング システムは、Windows XP Professional、Media Center Edition、Tablet PC Edition、Windows Server 2003 のすべてのバージョン、Windows Vista Business Edition、Enterprise Edition、および Ultimate Edition です。Windows XP Home Edition や Windows Vista のすべての Home Edition など、Windows の Home Edition にはリモート デスクトップ機能は含まれていません。

ターミナル サービス クライアント

新しい RDP 6.0 クライアントは go.microsoft.com/fwlink/?LinkId=91612 で入手できます。上記で説明したとおり、このクライアントには RDP 6.0 (Windows Vista または Windows Server 2008) システムへの接続に必要なすべての機能が含まれています。

図 4 は RDP 6.0 クライアントを示しています。MSTSC の重要な強化点の 1 つは、資格情報をキャッシュできるようになったことです。また、Windows Vista から Windows Vista または Windows Server 2008 に接続する場合、グループ ポリシーを使用してシングル サインオン (SSO) を有効にすることもできます。

図 4 RDP 6.0 クライアント

図 4** RDP 6.0 クライアント **(画像を拡大するには、ここをクリックします)

MSTSC.exe のバージョン 6.0 には、次に示すような多数のコマンド ライン パラメータが用意されています。これらを 1 つずつ見ていきましょう。

mstsc [<connection file>] [/v:<server[:port]>]
[/console] [/f[ullscreen]] [/w:<width>] [/h:<height>]
[/public] | [/span] [/edit "connection file"] [/migrate] [/?]

/v:<server[:port]> 接続先のリモート コンピュータとポート番号 (省略可能) を指定します。既定のポート番号は 3389 です。この番号はすべての Windows のバージョンで変更することができます。

/console Windows の以前のバージョンのコンソール セッションに接続できます。この設定は Windows Vista または Windows Server 2008 では機能しません。

/f リモート デスクトップ接続を全画面モードで開始します。

/w:<width> リモート デスクトップ接続ウィンドウの幅を指定します。

/h:<height> リモート デスクトップ ウィンドウの高さを指定します。

/public リモート デスクトップ接続をパブリック モードで実行します。パブリック モードでは、RDP クライアントはデータをローカル システムにキャッシュしません。パブリック モードは、会議場内のシステムから企業のサーバーに接続するときなどに使用します。

その他のターミナル サービスの優れた機能

ターミナル サービス コンポーネントを使用して処理を実行するマイクロソフト テクノロジが他にも 2 つ存在することは、あまり知られていないかもしれません。Windows XP と Windows Vista のユーザーの簡易切り替えは、同一のシステムに複数のユーザーがログオンした状態で、どのユーザーもログオフさせることなくユーザー コンテキストをすばやく切り替えることによって実現されています。Windows Media Center Edition (および Windows Vista) はこのインフラストラクチャに基づいて構築されているため、Media Center Extender (オーディオやビデオを表示するテクノロジとコーデックが組み込まれた事実上のシン クライアント端末) がシステムにログオンし、有線接続またはワイヤレス接続を経由してリモートで Media Center のエクスペリエンスをテレビに表示することができます。Windows XP では、どちらの機能も、ユーザーの簡易切り替えが有効になっていて、ドメインに参加していないシステムを必要とするため、通常はあまりビジネスと関連がありません。Windows Vista のビジネス用製品エディションでもこれらの機能を使用できますが、あまりビジネスで使用される機能ではないため、ここでは詳しい説明は省略します。

/span リモート デスクトップの幅と高さをローカル仮想デスクトップと一致させます (必要に応じて複数のモニタにまたがって表示します)。モニタの高さがすべて同一であることを確認し、それらを横 1 列に並べる必要があります。

/edit 指定した .rdp 接続ファイルを編集用に開きます。RDP ファイルは、特定のリモート システムの接続情報を格納するために使用されます。

/migrate クライアント接続マネージャを使用して作成された古い接続ファイルを新しい .rdp 接続ファイルに移行します。

MSTSC クライアントの多くの機能拡張は、ターミナル サービス ActiveX® コントロールや、同一のコンソールから複数のシステムに接続できる TSMMC.msc (以下で説明します) で使用することもできます。

Windows Server 2008 での新機能

既に説明した Windows Vista のすべての機能と変更に加えて、Windows Server 2008 には独自のリモート デスクトップ機能が含まれています。これらの機能は、ターミナル サービス Web アクセスとターミナル サービス Easy Print です。

ターミナル サービス Web アクセスを使用すると、ユーザーは Web ブラウザを使用して、リモート サーバーで有効になっているプログラムの一覧を RemoteApp として表示し、リモート デスクトップ ActiveX コントロールを使用して 1 回のクリックで容易に起動することができます。このエクスペリエンスは、先月の Microsoft Desktop Optimization Pack に関するコラムで説明した SoftGrid Application Virtualization のようなものと考えることができます。このテクノロジを使用すると、リモート ユーザーがローカルに特別なソフトウェアをインストールすることなくアプリケーションを容易に起動できるようになります。次の数年の間に、SoftGrid テクノロジとターミナル サービス テクノロジを使用するシナリオがどのように競い合っていくのか楽しみです。

ターミナル サービス Easy Print を使用すると、リモート (ホスト) システムで発生するすべてのプリンタ タスクをローカル (クライアント) システムにリダイレクトできるようになります。プリンタのリダイレクトによってこの操作も実行されると思われがちですが、実は実行されません。Easy Print を使用するために、ホスト システムにプリンタ ドライバを追加したり、ユーザーがデバイスをインストールしたりする必要はありません。ローカル プリンタがあれば、リモート システムのプリンタ タスクをローカル システムのタスクであるかのように実行できます。Easy Print を使用するには、リモート システムで Windows Server 2008 が実行されている必要があります。また、クライアント システムとサーバー システムでターミナル サービス 6.1 クライアントが実行されており、どちらのシステムにも Microsoft .NET Framework 3.0 SP1 がインストールされている必要があります。ターミナル サービス 6.1 クライアントと .NET Framework 3.0 SP1 は、どちらも Windows Server 2008 とほぼ同時期にリリースされる予定です。

リモート デスクトップの使用に関するヒント

最初に述べましたが、私はリモート デスクトップを毎日使用しています。厳密に言えば、使用しているのはリモート デスクトップ用の Microsoft 管理コンソール (MMC) です。リモート システムをコンソール ツリーのノードとして追加することにより、同一のユーザー インターフェイスから複数のシステム間の切り替えをすばやく容易に行うことができます。図 5 は、MMC のエクスペリエンスがどのようなものかを示しています。この MMC スナップインは Windows Server 2003 Administration Tools Pack に含まれています。最新バージョンは go.microsoft.com/fwlink/?LinkId=91685 から入手できます。

図 5 MMC のページ

図 5** MMC のページ **(画像を拡大するには、ここをクリックします)

もう 1 つ私が偶然見つけたおもしろおもしろいものは、切り取りと貼り付けに関する機能です。クライアントとサーバーにまたがった切り取りと貼り付けは、Windows XP で初めて有効になりました。この機能を使用するには、クライアントとサーバーの両方で Windows XP が実行されていて、クリップボードがリダイレクトされるように設定されている必要があります (図 6 を参照)。また、Windows Vista クライアントでも、接続に対してクリップボードのリダイレクトが有効になっている場合、切り取りと貼り付けがサポートされます。

図 6 ローカル リソースの設定

図 6** ローカル リソースの設定 **(画像を拡大するには、ここをクリックします)

もう 1 つ知っておく必要があることは、Ctrl+Alt+Del など、ときどき必要になるキーボード ショートカットが、ネットワーク経由でリモート システムに転送されないということです。これらのショートカットはローカル システムでのみ機能します。Ctrl+Alt+Del をリモート システムに送信するには、クライアントで Ctrl+Alt+End キーを押します。

最後に、マイクロソフトのターミナル サービス チームが公開しているブログ (blogs.msdn.com/ts) を定期的に確認することをお勧めします。私もこのブログを読んでいます。

個人的には、リモート デスクトップ接続とターミナル サービスによって、以前よりも管理作業がずっと容易になったため、これらのテクノロジが欠かせなくなりました。この記事が、RDP 6.0 クライアント、Windows Vista、および Windows Server 2008 の新機能について理解するのに役立てば幸いです。

このコラムを執筆するための調査に協力してくれた、ターミナル サービス チームのシニア プログラム マネージャ リードである Nelly Porter に感謝します。**

Wes Miller は、テキサス州オースティンにある Pluck 社 (www.pluck.com) の開発マネージャです。以前は、オースティンにある Winternals Software に勤務しており、その前はマイクロソフトで Windows のプログラム マネージャとプロダクト マネージャを兼任していました。Wes の連絡先は、technet@getwired.com (英語のみ) です。

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; 許可なしに一部または全体を複製することは禁止されています.