UNIXは「CUI(キャラクタ・ユーザー・インタフェース)」を使うのが基本。これに対してWindows Serverは「GUIベース」――。この“常識”が、Windows 2008で大きく変化する。Windows Serverでも「GUIで操作できることは、すべてCUIで操作できる」ようになるのだ。それを可能にするのが、新しいコマンドライン・ツール「PowerShell」である。

 富士通の岡野統括部長は、「Windows 2008がエンタープライズ分野を志向していることを、最も強く感じさせる強化点」として、PowerShellを挙げる。「GUIを使って大量のサーバーを管理しようとすると、クリックする部分を間違えたり、多数の操作を一度に実行するのが難しかったりと、非常にやりづらい。PowerShellはこうした状況を大きく改善して、Windows Serverでも大規模システムを容易に管理できるようになるだろう」(同)。

 従来のWindows Serverの管理ツールはすべてGUIベース。「コマンド・プロンプト」はあったが、実行できるOSの機能はごく一部に限られていた。

インフラ運用の「自動化」が進む

 大規模環境の運用管理に向けた、最も有用なPowerShellの機能は、コマンドの自動実行に関するものだろう(図4)。具体的には、複数のコマンドを自動実行する際のコマンドの種類や実行順序を制御する「スクリプト」、そして定期的に実行する作業を定義・保存しておくための「バッチ・ファイル」を、容易に作成できるようにしている。

図4●新しいコマンドライン・ツール「PowerShell」の特徴
図4●新しいコマンドライン・ツール「PowerShell」の特徴
従来のコマンド・プロンプトに比べて、多数のサーバーや大規模なシステムを運用管理するための強化が施されている

 これはUNIXでおなじみの「パイプ処理」を、Windowsのコマンドラインとして初めて実装したからだ。パイプ処理とは、あるコマンドの実行結果を使って他のコマンドを連続実行する機能である。

 パイプ処理を実行する場合は、UNIXと同様、コマンドとコマンドを 「|」で接続する。例えばPowerShellで「dir | sort」と実行すると、「dir」で得られたフォルダ内のファイル情報が、「sort」というコマンドに引き継がれ、ファイル情報がアルファベット順でソートされて出力される。

 複数のコマンドを組み合わせた処理は、バッチ・ファイルとして保存しておける。このファイルを後日、実行したり、定期的に実行するようにしておけば、「運用管理作業にかける人手を、大きく軽減できる」(富士通の岡野統括部長)。

サーバー・コアとは併用できない

 運用管理性アップに大きく貢献しそうなPowerShellだが、大きな“矛盾”がある。コマンドライン・ツールでありながら、コマンドラインしか使えないサーバー・コアと併用できないのだ。

 これはPowerShellの動作に、.NET Frameworkが必要になるためだ。サーバー・コアを使うと.NET Frameworkは利用できなくなり、したがってPowerShellも使えない。サーバー・コアではGUIが使えないため、Win-dows Serverが標準で備えるGUI版の管理ツール「マイクロソフト管理コンソール(MMC)」も利用できない。つまり、サーバー・コアを適用した場合には、従来のコマンド・プロンプトを利用するか、Windows XP/Vistaなどから遠隔管理するしかない。

 マイクロソフトの吉川部長は、「サーバー・コアとPowerShellを併用したいという要望が高まることは、承知している」と話す。ただし、今のところは併用を可能にする予定はない。

 このほか、運用管理面では「ダイナミック・パーティショニング」という機能も有用だろう。OSを稼働させたままプロセサやメモリー、PCI Expressバスで利用する入出力機器を、追加したり交換したりする機能である。利用できるサーバー機は、64ビット・プロセサであるItanium 2やx64プロセサ搭載の大型機に限定されるものの、運用管理を容易にするほか、安定稼働にも貢献する。