Windowsを中心としたシステムを管理したり、操作したりする際に、とても便利なのに意外に使われていない機能が「Windows PowerShell」(以下PowerShell)だ。読者も名前くらいは知っているだろう。

 PowerShellが使われない最大の理由は、おそらく名前にある。何ができるのかがピンと来ないのだ。実はPowerShellという名称はUNIX/Linuxにおける「シェル」という用語から来ている。シェルはOSと利用者の仲立ちをするプログラムを指す(図1-1)。役割は大きく2つ。ファイル操作とプログラムの起動だ。例えばファイルを操作するウインドウを表示し、スタートメニューなどを表示する「エクスプローラー」はWindows標準のシェルである

図1-1●シェルの役割はユーザーとOSの仲立ち
図1-1●シェルの役割はユーザーとOSの仲立ち
「シェル」はユーザーの操作をOSに伝えるのが主目的。特に重視されるのがプログラムの起動とファイル操作だ。ファイル操作などのために、コマンドを解釈して実行するインタープリターが組み込まれている。最近のOSにおけるGUIもシェルの一種。イラスト : オオヤサトル
[画像のクリックで拡大表示]

 勘の良い読者なら、この役割から「コマンドプロンプト」を思い出すかもしれない。事実その通りで、コマンドプロンプトもシェルの1種だ。ファイルを操作できるしネットワークコマンドのようなプログラムを実行できる。PowerShellはコマンドプロンプトの進化版で、同じ機能を包含した新しいシェルなのだ(図1-2)。

図1-2●PowerShellとコマンドプロンプトの違い
図1-2●PowerShellとコマンドプロンプトの違い
PowerShellの役割はコマンドプロンプトと似ている。機能的にはコマンドプロンプトを包含している。ただコマンドプロンプトがMS-DOS時代からあまり変わっていないのに対し、PowerShellはWindows用に大幅に機能が強化されている。
[画像のクリックで拡大表示]

 大きな違いは、コマンドプロンプトが、ファイル操作とプログラム実行が中心で機能が限られるのに対し、PowerShellはWindowsが備える大半の機能を実行でき、実に1000を超えるコマンドを利用できる。

 PowerShellはスタートメニューからたどって、「Windows PowerShell」または「PowerShell ISE」というプログラムを実行して利用できる。前者をPowerShellコンソールと呼ぶ。知っているコマンドなどを単に実行するなら、コンソールを使ったほうがウインドウが大きくて見やすい。一方でISEは後述するように、入力支援機能がある。これはエディターの画面だけでなく、コマンドの実行の際にも働く。コマンド名や引数などに不安がある場合に使うと便利だろう。