今回は、より高度な変数の使い方を覚えよう。まず

$SVC = Get-Service

を実行して、変数「$SVC」にサービスの一覧を格納する。次に$SVCとだけ入力して実行すると、サービスの一覧やその状態を表示できる(図1)。

[画像のクリックで拡大表示]
図1●変数にコマンドの実行結果を代入
「$SVC」に「Get-Service」コマンドの実行結果を代入した。変数を表示すると、三つの属性(列)が見える。

 出力結果を見るとわかるとおり、三つの属性(列)が表示されている。「Status」「Name」、それに「DisplayName」だ。そこで

$SVC.Name

と入力して実行してみよう(図2)。すると、Name列だけが表示される。$SVC.Statusや$SVC.DisplayNameでも同様の結果が得られる。

[画像のクリックで拡大表示]
図2●列の一つを表示
変数の後に、ピリオド(.)と属性名を続けて記述すると、該当する列(属性)だけが表示される。

 このことは、$SVCの中身が単なる文字列ではなく、オブジェクトであることを意味している。

 次に、

$SVC[3]

と入力してみよう。これで$SVCに格納されている4番目の値が表示されるはずだ。PowerShellでは0から数え始めるので、3は4番目を意味する。

 こうしたコマンドの実行結果を見ると、変数の内容が論理的に複数の行に分割されていることがわかる。このように複数の行をまとめた変数を「配列」と呼ぶ。コマンドレットの戻り値はおおむね配列である。