画面への出力を文字列として取得する

 通常はありませんが、場合によっては画面に出力される内容を文字列として扱いたい場合があります。Out-Stringコマンドレットを使用することで、パイプラインを流れるオブジェクトを、文字列に変換することができます。

PS U:\PS> $result = Get-ChildItem | Out-String
PS U:\PS> $result


    ディレクトリ: U:\PS


Mode         LastWriteTime Length Name
----         ------------- ------ ----
d---- 2012/01/01      0:12        Folder1
d---- 2012/01/01      0:12        Folder2
-a--- 2012/01/01      0:12    655 File1.txt
-a--- 2012/01/01      0:12   9236 File2.txt
-a--- 2012/01/01      0:12  41171 Microsoft.swf
-a--- 2012/01/01      0:12 123398 Toshiba.jpg



PS U:\PS>

 ここで、$resultは文字列の配列ではなく1つの文字列になっています。文字列の配列を取得したい場合は-Stream オプションを使用します。

PS U:\PS> $result = Get-ChildItem | Out-String -Stream
inserted by FC2 system