「Windows PowerShell」(以下 PowerShellと略)はマイクロソフトが無料で提供しているWindows用のソフトです。「コマンド プロンプト」に替わる次世代のコマンドラインシェルであり、「バッチファイル」よりも高度な処理をシンプルに記述できるスクリプト言語でもあります。本連載ではWindows XPユーザとWindows Vistaユーザを対象に「PowerShellでライフハック!」をスローガンにして、「ほらPowerShellでこうすると、こんな事が簡単にできますよ」というちょっとした小技を紹介していく予定です。

注意:本稿では、Windows XP環境にてPowerShellの動作確認を行っていますが、ソフトウェアの利用はすべて使用者の責任においてご利用ください。

PowerShellとは

Windowsはその名のとおりウィンドウ、ボタン、メニューなどグラフィカルなユーザインタフェース(GUI)を持っています。ほとんどの操作をマウスで直感的に行い、簡単な操作で扱えるようになり、多くの人に受け入れられました。Windows 95が登場してからPCが爆発的に普及した大きな理由の1つとも言われています。

しかしGUIには苦手なことがあります。連続して何かをするためには、次々とメニューを出してアイコンやボタンをクリックしたりする必要があります。つまり、PCに付きっきりでマウスを動かし続けなくてはならないわけです。それでも一般的なWindowsユーザならマウスオペレーションだけで特に不満は無いでしょう。しかしシステム管理に関する作業をなるべく自動化したいと思っているWindows Serverの管理者にとってはGUIだけでは不満がありました。

自動化にはGUIよりもCUI(キャラクタ・ユーザ・インタフェース)の方が向いています。文字や数値で命令を与え、文字や数値で結果が返ってくる方式なら、あらかじめ複数の命令を書き込んだスクリプトを作っておいてそれを実行させることができます。また、前の命令の実行結果を次の命令で利用することもできますし、前の命令の実行結果次第で次の命令をスキップしたり、別の命令を実行したりなど、つまりGUIでは手の届かない痒い所に手の届く、臨機応変な操作やプログラミングができるからです。

WindowsにはCUIの「コマンド プロンプト」が付属していますし、スクリプトにあたる「バッチファイル」というものを組むことができます。しかしWindows登場以前のOSである「MS-DOS」や昔のWindowsに付属していた「DOSプロンプト」をひきずったままなので、残念ながら古くて非力と言わざるを得ません。そこでマイクロソフトは「コマンドプロンプト」のバージョンアップではなく、新たに「Windows PowerShell」(以下PowerShellと略)を開発しました。「コマンドプロンプト」の弱点を克服し、次のような特徴があります。

  • 130個以上の標準的なコマンドラインツール
  • 管理タスクに重点を置いた新しいスクリプト言語
  • 一貫性のある構文とユーティリティ

Windows Server 2008にはPowerShellが同梱されています。しかしシステム管理タスクの自動化を必要としない一般のWindows XP, Vistaユーザにとっても役立つ便利な機能がたくさん含まれています。マイクロソフトのアプリケーションで、しかも無料でダウンロードできるのでこれを利用しない手はありません。「コマンドプロンプト」を使ったことのある人も無い人も、これを機会に一度試してみませんか?

マイクロソフトのPowerShellのホームページ