Windowsを中心としたシステムを管理したり、操作したりする際に、とても便利なのに意外に使われていない機能が「Windows PowerShell」(以下PowerShell)だ。読者も名前くらいは知っているだろう。
PowerShellが使われない最大の理由は、おそらく名前にある。何ができるのかがピンと来ないのだ。実はPowerShellという名称はUNIX/Linuxにおける「シェル」という用語から来ている。シェルはOSと利用者の仲立ちをするプログラムを指す(図1-1)。役割は大きく2つ。ファイル操作とプログラムの起動だ。例えばファイルを操作するウインドウを表示し、スタートメニューなどを表示する「エクスプローラー」はWindows標準のシェルである。
勘の良い読者なら、この役割から「コマンドプロンプト」を思い出すかもしれない。事実その通りで、コマンドプロンプトもシェルの1種だ。ファイルを操作できるしネットワークコマンドのようなプログラムを実行できる。PowerShellはコマンドプロンプトの進化版で、同じ機能を包含した新しいシェルなのだ(図1-2)。
大きな違いは、コマンドプロンプトが、ファイル操作とプログラム実行が中心で機能が限られるのに対し、PowerShellはWindowsが備える大半の機能を実行でき、実に1000を超えるコマンドを利用できる。
PowerShellはスタートメニューからたどって、「Windows PowerShell」または「PowerShell ISE」というプログラムを実行して利用できる。前者をPowerShellコンソールと呼ぶ。知っているコマンドなどを単に実行するなら、コンソールを使ったほうがウインドウが大きくて見やすい。一方でISEは後述するように、入力支援機能がある。これはエディターの画面だけでなく、コマンドの実行の際にも働く。コマンド名や引数などに不安がある場合に使うと便利だろう。