■「ターミナル・サービス」とは,ネットワーク上にある他のコンピュータのデスクトップ画面を,手元のコンピュータのディスプレイに表示して操作する機能のこと。Windows Server 2003になって表示色が増えたり,クラスタリング環境で使いやすくするなど,機能が強化されている。
■ターミナル・サービスを利用すると,離れた場所にあるコンピュータを操作して管理したり,環境の異なる複数のクライアントがアプリケーションをシェアしたりといったことが実現できる。
■この連載ではターミナル・サービスを「入門編」「セキュリティ編」「ソリューション編」「MetaFrame編」に分けて解説していく。第1回の入門編では,仕組みや基礎知識を理解し,インストールして基本操作ができるようになるまでを解説する。

(山本 晃=グローバル ナレッジ ネットワーク)

 「離れた場所にあるサーバーを,自席についたままや自宅に居ながら遠隔操作したい」「企業内ユーザーに対するヘルプデスクをするとき,電話だけでなく相手のパソコンを手っ取り早く操作したい」――システム管理者なら一度はそんなことを考えたことがあるのではないだろうか。

 Windowsの「ターミナル・サービス」機能を使えば,離れた場所にあるコンピュータのデスクトップ画面を,手元のパソコンのディスプレイに表示し,自席に居ながら操作してしまう。そんなことが簡単に行える。ユーザー側から見ると,Windows上に別のWindowsデスクトップができて,それを操作するイメージとなる(図1)。


△ 図をクリックすると拡大されます
図1●ユーザーのコンピュータからサーバーのWindowsデスクトップを操作できる

簡単,高機能化したWindows Server 2003のターミナル・サービス
 ターミナル・サービス・テクノロジの原点は,米Citrix SystemsがWindows NT 3.51用に開発した「WinFrame」にある。その後,米MicrosoftはCitrixとの共同開発により「Windows NT Server 4.0, Terminal Server Edition」をリリース。Windows 2000 Server以降,ターミナル・サービス機能は標準搭載されている。

 Windows Server 2003には,最低限の機能がデフォルトでインストールされており,いままで追加インストールする必要があったWindows 2000よりも簡単に利用可能になった。

 Windows Server 2003は,機能も強化されている。画面の表示色数が24ビット色(約1677万色)と,従来の最大表示色数である8ビット色(256色)よりも大幅に増えて,ターミナル・サービスでは不得意とされた画像処理が改善された。また,「ローカル・コンピュータのハードディスクやCD-ROMドライブをターミナル・サーバーにマウントする」「サウンドや印刷キューをローカル・コンピュータにリダイレクトする」など,より柔軟なリモート環境を構築できるようになった。他にも,サーバーがクラスタ環境にあるとき,クライアントがいったん接続を切って,再接続しても元の接続環境を継続できるように改良されている。

 一方,Citrixは,より高性能・多機能の「MetaFrame」を出して,Windowsの標準機能とはすみ分けをしている(MetaFrameに関しては第4回MetaFrame編で扱う予定)

遠隔管理とアプリ管理の二大用途
 ターミナル・サービスとしてアクセスするパソコンが1台だけでなく,数台,数十台,数百台といったレベルでアクセス可能だとしたらどうだろうか。クライアント・マシンにアプリケーション・ソフトがなくても,サーバー・マシン側に様々なアプリケーションをインストールしておけば,異なる環境を持った複数のクライアント・マシンがあっても,同じ環境でアプリケーションを利用できる。それは“マシンの遠隔管理”というよりも,“アプリケーションの集中管理”といった利用法になる。クライアント側は,古い世代のハードウエアで構わないし,Windowsのバージョンが統一されていなくても構わない。自社開発のシステムにおいて,DLLなど一つひとつの実行モジュールのバージョン管理なども不要になる。

 このようにターミナル・サービスには,利用形態によって,マシンの遠隔管理とアプリケーションの集中管理という2つの用途に分けられる。しかし,そこで使われている技術は基本的に同じものだ。

 ここで用語を整理しておこう。Windows 2000 Serverになって標準機能になった「ターミナル・サービス」は,“マシンの遠隔管理”のための「リモート管理モード」と“アプリケーションの集中管理”のための「アプリケーション・サーバー・モード」という2つのモードに分かれていた。これがWindows Server 2003になって用語が変わった。“マシンの遠隔管理”を「リモート・デスクトップ」,“アプリケーションの集中管理”を「ターミナル・サービス」と呼ぶようになったのだ。同じ「ターミナル・サービス」という言葉に対して,Windows 2000 Serverで使われている技術としての広い概念のものと,Windows Server 2003で使われている用途としての限定した概念のもので,意味が異なっているので注意してもらいたい。この連載では「実践!ターミナル・サービス」というタイトルを付けているが,「リモート・デスクトップ」も扱う予定である。以下,基本的にWindows Server 2003の用語に従うが,「ターミナル・サービス」と「リモート・デスクトップ」を含めた広い意味を指す場合は「ターミナル・サービス・テクノロジ」と呼ぶことにする。


△ 図をクリックすると拡大されます
図2●サーバーとクライアントの通信の仕組み

ターミナル・サービス/リモート・デスクトップの仕組み
 まずは,ターミナル・サービス/リモート・デスクトップの仕組みを見てみよう。クライアントがターミナル・サーバー(以下サーバー)上のアプリケーションを操作する場合,次のようなデータのやり取りが行われている(図2)。

(1)クライアントから,キーボードやマウスの動作に関する情報がサーバーに送信される。
(2)クライアントから送信された情報を基に,サーバーはアプリケーションを実行する。
(3)サーバーは,アプリケーションによって表示された画像データをクライアントに送信する。このとき画像データは変更があった部分だけを圧縮して送信する。このため,狭帯域のネットワークでも効率的に通信できるようになっている。

 このようなクライアントとサーバー間の一連の接続を「セッション」と呼んでいる。ターミナル・サービス・テクノロジでは,セッション単位で管理・制御を行う。セッションが続く限り,ユーザーはアプリケーションの操作を継続できる。クライアントとサーバー間の通信で使われているプロトコルは,RDP(Remote Desktop Protocol)バージョン5.2というものだ。RDPはビデオ会議などで使われる標準プロトコル「T.120」を拡張したもので,TCPの3389番ポートを使って画面情報の転送を効率的に行える。

 ユーザーのアカウントは,通常のサーバーのアクセス許可と同じだ。そのサーバーのローカルで定義されたユーザーか,Active Directoryに登録されたユーザーである(設定方法は後述)。

 ターミナル・サーバーには,複数のクライアントが同時に接続できる。同じアプリケーションの使用も可能だ。このときクライアント(ユーザー)ごとに別のマイドキュメント・フォルダやデスクトップの設定を表示する(仮想デスクトップ)。

 クライアントがターミナル・サーバーにアクセスするには,接続用のクライアント・ソフトウエアが必要になる。一般的なのは,Windows XPとWindows Server 2003に標準で付属している「リモート・デスクトップ接続(RDC)」である。サーバー側がリモート・デスクトップのときも,ターミナル・サービスのときも,クライアント側はこのソフトを使う。また,サーバー側がターミナル・サービスの設定では,Webブラウザをクライアント・ソフトウエアとして使用する機能もある。

リモート・デスクトップを使用可能にする
 ここからは,実際のサーバー側の設定作業を紹介する。最初に,リモート・デスクトップとして利用する時の設定方法を説明し,次にターミナル・サービスとして利用する時の設定方法(インストールを伴う)を説明する。

 Windows Server 2003では,リモート・デスクトップは標準で組み込まれており,常に起動状態にあるが,設定は“無効”になっている。リモート・デスクトップを利用するためには設定を有効にする必要がある。ちなみに,リモート・デスクトップを有効にすると,サーバーのメモリー使用量が約2Mバイト増える。


△ 図をクリックすると拡大されます
図3●リモート・デスクトップを有効にする

 サーバー側でリモート・デスクトップを利用可能にするのはとても簡単だ。サーバーの[コントロールパネル]から[システム]を起動し,[システム]画面が開いたら[リモート]タブに切り替え,[リモートデスクトップ]欄のチェック・ボックスをクリックして有効にする(図3)。これで完了だ。すぐに利用したい人は,この記事の途中を飛ばして,2ページ目の後半にあるクライアント側のアクセス方法を先に読んでもらいたい。

 Windows Server 2003においてリモート・デスクトップ機能を利用する場合,同時にアクセスできるセッション数は,最大3セッションまでという制限がある。これより多いクライアントが同時にアクセスするなら,ターミナル・サービスとして利用する必要がある。

 ターミナル・サービスの設定方法に移る前に,リモート・デスクトップ特有のセッションについて簡単に説明しておこう。Windows Server 2003のリモート・デスクトップには,(1)管理用リモート・セッション,(2)コンソール・セッション――の2種類がある。それぞれ次のような特徴がある。

・管理用リモート・セッション…アクセスすると仮想的なデスクトップ環境が割り当てられ,他のセッションとは完全に独立しているセッション。Windows Server 2003では,2つのクライアントが同時にサーバー上で作業を行える。

・コンソール・セッション…ターミナル・サーバーのディスプレイに表示されているデスクトップ環境をリダイレクトで操作できるセッション。ローカル・ログオンした場合だけに許されている管理操作をリモートで実行できる。Windows Server 2003になって追加されたもので,同時に利用できるのは1セッションのみ。サーバーにローカルでログオンした状態で,別のコンピュータからコンソール・セッションで接続すると,ローカル・ログオンのアカウントはロックされてしまう。

 Windows Server 2003へリモート・デスクトップとしてアクセスする場合の最大3セッションの内訳は,管理用リモート・セッションが2セッション,コンソール・セッションが1セッションである。管理用リモート・セッションが2セッションというのは,基本的には一方のセッションが制御不能になったときの代替用セッションとして利用すべきである。