シェルスクリプト不在の不便さ

WindowsサーバやWindowsクライアントは、サポートが厚く、日本語の資料も豊富である。このあたりが、エンタープライズの分野で躍進を遂げてきた大きな理由だろう。

提供されているドキュメントを丁寧に読んで理解し、用意されている管理アプリケーションを使えば、管理作業も問題なくこなせる。込みいったことをしようとしない限り、スキルがそれほど高くない人でも対応できるのは最大の強みと言える。

管理者向けの技術情報を提供するTechNet。同サイトを巡れば、どれほどドキュメントが充実しているかがすぐにわかる。

逆に、ITスキルが高いユーザにとっては、Microsoftプロダクトの運用管理には不満点が多い。

OSのバージョンが上がったり、新プロダクトを導入したりするたびに、新しいツールやコマンド、APIが登場する。また、管理を行うにはGUIを使うか、APIを叩く必要があり、何かあるたびにGUIアプリケーションを操作したり、自動化するためにプログラミングを作ったり、といったことを強いられる。普段の作業を手軽に自動化したいというニーズには答えるのが難しい。

LinuxやFreeBSD、SolarisなどのUNIX系システムを管理していたユーザなら、なおさらWindowsに運用管理の不便さを感じるだろう。

システムの起動から管理までシェルスクリプトが活用されているUNIX系システムは、シェルスクリプトが使えれば多くの作業を自動化できる。管理業務からツールの開発、場合によっては特定のシステムの構築すらシェルスクリプトで実現できる。シェルスクリプトでこなせない部分には別のツールやスクリプト言語を使えばよい。システムを自在に使えるツールが提供されているというのは、ユーザにとってこの上ない武器となっている。

Windowsをツールに変えるPowerShell

しかし、こうした状況も変わろうとしている。MicrosoftがWindowsの管理ツールとしてWindows PowerShellにスポットライトを当てたのだ。

同社は、Windows 7やWindows Server 2008 R2のリリースに合わせて、PowerShellを2.0へとバージョンアップ※1。コマンドを大幅に増やし、UNIXユーザにも満足してもらえるプラットフォームへと進化させている。

※1 Windows 7やWindows Server 2008 R2では、PowerShellがデフォルトで組み込まれ、機能として無効化できなくなった。また、Windows XPやVistaにもインストールして利用できる。

試しに、PowerShellを起動してlsやdate、ps | moreといったUNIX系システムでよく使うコマンドを入力してみるとよい。入力補完や履歴機能、そしてコマンドの実行が、UNIXのシェルと良く似ていることを確認できる。

PowerShell実行例 ( Windows 7 Enterprise)

筆者は初めてふれたとき、まったく同じコマンドが提供されているわけではないものの、UNIXと同じエクスペリエンスが適用できることに驚きを覚えた。

PowerShellはきわめて強力なツールであり、WindowsそのものをUNIXのように、自分のツールとして使いこなすための機能を提供してくれる。UNIXユーザにとって、Windowsを道具として使いこなすためのツールがやっと登場したといってよいだろう。使えば使うほど、Windowsのブラックボックス感が薄れていくのである。

以下、筆者が試して得た所感と、習得のポイントを簡単に紹介していこう。