Windows 8やWindows 10では、Windows PowerShell(以下PowerShell)に約3000ものコマンドレット(コマンド)が用意されている。これらを一つひとつ覚えるのは難しい。ましてやパラメーターまで暗記するのはほぼ不可能だ。したがって目的の機能を果たすコマンドを効率良く探すことが、PowerShellを活用する際には重要になる。

コマンド名の構造が決まっている

 PowerShellのコマンドは「動詞」と「名詞」の組み合わせになっている。ここに着目すると、コマンドを探しやすい。

 動詞は「何をするか」を表す。例えば「Get」「Set」「Start」などがある。名詞は「Command」「Service」など、操作したい対象である。例えば「Get-Command」というコマンドなら、Getが「取得する」、Commandが「コマンド」なので「該当するコマンドを取得する」となる。

 PowerShell ISEを起動し、コンソールウインドウでGet-Commandを実行すると、現在使用できるコマンドの一覧が表示されるはずだ。

 コマンドを入力していると、別ウインドウが表示される場合がある(図1)。これは「IntelliSense」と呼ぶ、マイクロソフトの開発環境ではおなじみの機能だ。途中まで入力したコマンドの残りの部分を補完してくれる。入力の手間を省けるだけでなく、コマンドのスペルミスを避けられる。[TAB]キーを押すと補完結果を反映する。

図1●PowerShell ISEの「IntelliSense」が動作したところ
図1●PowerShell ISEの「IntelliSense」が動作したところ
PowerShell ISEのスクリプト編集ウインドウやコンソールウインドウでは、コマンドを途中まで入力すると、「IntelliSense」機能により自動的にコマンドの候補を表示してくれる。さらに、コマンドを選ぶと、その書式が表示される。PowerShellには膨大な数のコマンドがあるので、こうした入力支援機能は便利だ。
[画像のクリックで拡大表示]
▼約3000ものコマンドレット
WindowsやPowerShellのバージョンによってコマンドの数は異なる。なおPowerShellのコマンドは単機能なので、「小さなコマンド」という意味合いの接尾辞「レット」を付ける。
▼組み合わせ
正確に言えば、「動詞」と「名詞」の組み合わせになっているのは、米マイクロソフトが提供するコマンド。PowerShellのコマンドはユーザーやサードパーティも開発して組み込める。そういったコマンドでは、「動詞」と「名詞」の組み合わせになっていない可能性がある。