■Windows Vistaの新機能を紹介する短期集中連載の最終回。Windows Vistaをシステムに展開し,運用管理するための主な新機能を紹介する。企業には必見!

 本特集では,動作検証に米国で9月に開催された開発者向け会議PDC(Professional Developers Conference)2005で配布されたWindows Vista CTP(Community Technology Preview)英語版を使用した。



△ 図をクリックすると拡大されます
表1●Windows Vistaが搭載する展開・管理関連の主な新機能と強化点
 新しいOSを導入するに当たっての問題は,展開(deployment)にそれなりのコストがかかる点である。いくら優れた新機能を搭載していても,展開に手間がかかりすぎるようだと企業は導入に二の足を踏んでしまうだろう。もちろん,展開後の管理コストも重要だ。

 Windows Vistaは,展開・管理の手間を削減するために,数多くの新機能を搭載し,また既存の機能についても強化を図っている(表1)。Part 3では,これらの中から主要なものを紹介する。

複製インストール用のツールを提供
 企業でクライアントを入れ替えるときや,ハード・ベンダーがプリインストール・マシンを出荷するときなど,100台,1000台単位でWindowsやアプリケーションをインストールする場合を考えてほしい。インストールCD-ROMで1台ずつインストールするのでは効率が悪いのは明らかだ。こうした場合には,1台のマシンにWindowsとアプリケーションをインストールし,残りのマシンにはそのハードディスクのイメージを丸ごと複製するのが手っ取り早い。このようなインストールの手法をイメージ・ベース・インストールと呼ぶ。CD-ROMからのインストールが1台当たり数十分を要するのに対し,イメージ・ベースのインストールは複製の手段に依存するものの,早ければ数分でインストールが完了する。

 Windows Vistaは,このイメージ・ベース・インストールのためのファイル・フォーマットである「Windows Imaging Format(WIM形式)」を新たに定義し,併せてそれを扱うためのAPI(アプリケーション・プログラミング・インターフェース)を搭載する。WIMは,ハードディスクのボリュームの内容をファイル(イメージ・ファイルと呼ぶ)として記録するためのファイル形式である。さらに,WIMのイメージ・ファイルを作成したり,イメージ・ファイルから別のディスクにイメージを複製したりするためのコマンド・ライン・ツール「ximage」も,現在ベータ版が無償で配布されている。

 イメージ・ファイルを作成するツールには,サード・パーティ製のものがいくつか出荷されているが,WIMとximageはこうしたツールにない特徴をいくつか備えている。

 特徴の一つは,これらのツールの多くがハードディスクの各セクターのイメージをそのまま保存するセクター・ベースのフォーマットを利用しているのに対し,WIMはファイル単位でデータを管理するファイル・ベースのフォーマットを採用している点である。このおかげで,複製元と複製先のハードディスクやインターフェースの種類が違ったり,ボリュームのサイズが異なったりする場合にも対応できる。

 もう一つの特徴は,イメージ・ファイルを実際にディスク上に展開することなく中身を参照したり,ファイルを追加・変更したりできることだ。ximageでイメージ・ファイルを現在のファイル・システムの適当なフォルダにマウントすれば,あとはExplorerなどを使って普通のファイルと同じように操作できる。インストール・イメージを作成した後で設定ファイルなどを少し書き換えたい,といった場合にわざわざイメージを展開し直さなくて済むのは大変便利である。

 ほかにも,複数のディスク・ボリュームのイメージを1個のファイルに格納できる点も特徴だ。特に複数の少しずつ異なるインストール・イメージを管理する必要がある場合は,管理の手間とディスク・スペースを大幅に節約できる。WIMは,同じファイルが複数ある場合に1つしか実体を保存しないため,Windows本体が共通なら複数のイメージを格納してもサイズがほとんど増えないからだ。加えて,データ圧縮もサポートしているので,必要ならさらにファイル・サイズを小さくすることもできる。

複製インストールの手順は簡単


△ 図をクリックすると拡大されます
図15●イメージ・ベース・インストールによって複数のコンピュータにWindowsとアプリケーションをインストールする際の基本的な流れ
 WIMとximageを利用したイメージ・インストールの大まかな手順を図15に示す。まず,1台のコンピュータ(マスター・コンピュータ)にWindowsやアプリケーションをインストールして複製元となる環境を構築する。構築が完了したら,マイクロソフトが無償で配布するシステム準備ツール(sysprep.exe)を使ってコンピュータ固有の情報を削除する。コンピュータのSID(セキュリティID)など,本来コンピュータごとに異なるはずの情報まで「複製」してしまっては,ネットワークに接続したときに正常に動作しないからだ。システム準備ツールは代わりにMini-Setupと呼ばれるWindows Setupのサブセットを埋め込み,複製後最初に起動したときにこれを起動して設定を行うようにする。

 次にximageを使ってマスター・コンピュータのディスクのイメージ・ファイルを作成し,ファイル・サーバーなどにコピーする。あとは,このファイルをximageでインストール先マシンに展開し,マシンを起動すればインストールが完了する。ネットワーク経由でインストールする場合は,Windows PEを使って各インストール先マシンを起動し,その上でximageを実行するのが簡単だ。もちろん,イメージ・ファイルやWindows PEをDVD-Rなどに書き込み,1台ずつインストールしてもかまわない。

 このほか,Windows Vistaでは無人インストールの方法も簡単になる。インストール時の設定を記述するスクリプトは,これまでのテキスト・ファイル(unattend.txt)からXMLファイル(unattend.xml)に変更され,プログラムから扱いやすくなる。GUI画面で質問に答えていくだけでスクリプトを作成できる管理ツールSetup Managerも提供される予定で,現在ベータ版を米MicrosoftのWebサイトからダウンロードできる。

ポリシーで設定可能な項目が増える


△ 図をクリックすると拡大されます
表2●Windows Vistaで追加される主なグループ・ポリシーの設定項目
 Windows 2000で初めて導入されたグループ・ポリシーは,今では企業でクライアントを効率よく管理する際に不可欠とも言える機能になっている。グループ・ポリシーで設定可能な項目は,Windowsのバージョンアップやアップデートのたびに追加されており,Windows Vistaでも数多くの項目が追加される予定だ。主な項目を表2に挙げておく。

 表でまず目につくのは,Part 2で取り上げたUAPや,ファイルとレジストリの仮想化などの新機能に関する設定項目が追加されていることである。

 さらに,デバイスのインストールに関連する項目が追加されたのも,システム管理者にとってはうれしいところだ。情報漏えいの原因となるリムーバブル・デバイスの使用をコントロールするほか,あらかじめ指定したデバイス以外のデバイスのインストールをすべて禁止するといった,かなり強い制限を課すこともできる。また,Windowsファイアウオール関連の項目も追加され,より細かい設定が可能になる。

 このほか,1台のマシンで複数のローカル・ポリシーを扱えるようになる点も環境によっては有用だ。学校など1台のマシンを複数のユーザーで共用している場合に,ユーザーごとに異なるポリシーを適用できるようになる。グループ・ポリシー・オブジェクト・エディタのユーザー・インターフェースも変更し,画面右側に表示されるアクション・ペインから操作を選ぶだけで,基本的な管理作業が行えるようになる。

既存の管理ツールも機能強化


△ 図をクリックすると拡大されます
図16●タスク・スケジューラでイベント発生時に実行するタスクを設定しているところ
 Windows Vistaでは,タスク・スケジューラやイベント・ビューアといった標準で付属する管理用ツールも強化する。例えばタスク・スケジューラは,「指定した日時」「ログオン時」「起動時」に加え,イベントが発生したときに指定したタスクを実行する機能を追加する(図16)。これを利用すれば,障害が発生したときに管理者に通知したり,自動的に復旧処理を実行したりできるようになる。コンピュータのアイドル時に,バックアップやデフラグを実行するといったことも可能だ。

 加えて,タスクが既に実行中の場合にタスクのインスタンスを新たに生成しないようにする,複数のタスクを指定した順番に実行する,などの設定もサポートする。タスクを実行するユーザー・アカウントのパスワードも,セキュリティを高め,パスワードを変更したときの手間を削減するために,ローカル・マシンではなくActive Directoryに保存するようになる。グループ・ポリシー・オブジェクト・エディタと同様に,画面右側にアクション・ペインが表示されるようになり,タスクの設定も簡単になる。


△ 図をクリックすると拡大されます
図17●イベント・ビューアでフィルタを作成しているところ
 イベント・ビューアは,イベントをフィルタリングしたりソートしたりして表示する機能を追加し,サード・パーティ製ツールを購入しなくてもある程度の管理ができるようにする(図17)。各イベントの説明も詳細になり,障害の原因究明などの際にドキュメントを参照する必要も少なくなる。さらに,これまでは独自形式のログ・ファイルにログを出力していたコンポーネントの多くがWindows Vistaではイベント・ログに情報を出力するようになり,情報をより集中的に管理できるようになるはずだ。

Windows Presentation Foundationは なぜ表現力があり,高速描画ができるのか

 Windows Presentation Foundation(以下WPF)は,Windows Vistaが新たに搭載する2D/3Dグラフィックス・サブシステムである。開発コード名であるAvalonという名称のほうが通りがいいかもしれない。

2Dと3Dと動画をまとめて処理
 WPFの特徴は,文字,画像,ベクター・ベースの2Dグラフィックス,3Dグラフィックス,動画といった様々なグラフィックス要素を統一して扱えることである。これまでのWindowsでは,文字やベクター・グラフィックスなどの2DグラフィックスをGDI(グラフィックス・デバイス・インターフェース)で描画し,3DグラフィックスをDirectX(Direct3D)で表示し,動画をDirectShowで扱う,というようにそれぞれの要素を分けて扱う必要があった。それぞれが得手不得手があったからだ。 例えば,GDIは3Dグラフィックス用の描画命令を一切用意していない。DirectXはダイアログなどのユーザー・インターフェース部品を利用するのに手間がかかる。ところがWPFを利用すれば,WPFのクラス・ライブラリが用意するクラスを使うだけでこうした要素をすべて扱える。

ハードウエアで高速描画
 さらに,WPFには,グラフィックス・チップが備える描画用機能を活用し,CPUには荷が重い描画処理でも高速に実行できるというメリットがある。最近のグラフィックス・チップには,3D描画機能の一部として,半透明な画像を重ね合わせて表示するアルファ・ブレンディングや画像を高速に拡大・縮小する機能,拡大の際にピクセルの色を補間して境界が目立たないようにする機能など,2D描画にも有用な機能を豊富に備えている。

 ところが,Windowsの標準的な描画機能GDIが設計されたのは,こうした機能がグラフィックス・チップに搭載されるようになるよりもはるか昔であり,GDIからはまったく利用できない。GDIは,今でもワープロ・ソフトをはじめとするビジネス・アプリケーションのほとんどが利用しているものの,機能的にはもはや時代遅れなのである。そこで,抜本的な改革を行うためにWindows Vistaに搭載したのがWPFというわけだ。

描画エンジンWPF Engineが要
 WPFは,大きく分けて「WPF Engine」と「WPF Framework」の2つで構成される。WPF Engineは,フォント,2D/3Dグラフィックス,動画などをまとめて扱うための描画エンジンだ。重要なのは,WPF EngineがDirectXを直接呼び出して描画している点である。言い換えれば,WPFによる描画は,DirectXを経由してドライバに伝えられ,GDIを経由することはない。WFPによる描画がグラフィックス・チップのハードウエア機能をフルに活用できるのはDirectX経由であることが理由である。

.NETでもXAMLでも開発
 もう1つのWPF Frameworkは,.NETアプリケーションからWFPを利用して描画するためのクラス群である。ボタンを表すButton,楕円を表すEllipse,3Dオブジェクトを表すMeshGeometry3D,といった数多くのクラスで構成される。

 このほか,WPFではXAML(拡張アプリケーション・マークアップ言語)と呼ばれるXML形式のファイルを記述することで,ユーザー・インターフェースを作成することもできる。XAMLでは,HTMLタグを記述してHTML文書を作成するのと同様に,<Button>タグや<Ellipse>タグなどを記述して画面をデザインする。作成したXAMLのコードは,表示される際にコンパイルされ,Buttonなどのタグと属性はC#などのプログラミング言語でコードを記述した場合と同様にクラスのオブジェクトと属性になる。このため,C#などで開発する場合と比べてパフォーマンスが下がることはない。

 もっとも,Visual Studioなどの開発ツールを利用してユーザー・インターフェースを作成する場合には,XAMLを使うか,C#などで記述するかはあまり重要ではない。いずれにせよ,画面のデザイン自体は画面上でフォームに部品を配置することで行うからだ。XAMLが有用なのは,Webアプリケーション開発の場合と同様に,デザインと振る舞いを分離できることである。このおかげで,プログラマがコーディングを,デザイナが画面デザインをするというように分担して作業を進められるようになる。

 今後XAMLに求められるのは,Visual Studioの画面設計ツールなどよりも,もっとデザイン作業を重視した,デザイナ向けのツールである。米Microsoftは「Expression」(開発コード名)というツールを開発中であるが,早期に出荷されることを望みたい。