PowerShell 実行結果の保存

PowerShell のコマンドレットが使用されるシーンは様々ですが、実行結果をファイルとして出力し、保存するケースが多いのではないでしょうか。

定期的に実行されるスクリプトのログや、構成変更作業の前後に取得するエビデンス等です。

 

 

そんな場合によく利用されるのは、DOSコマンドと同様のリダイレクト記号「>」や、” Out-File “、” Export-Csv ” といったコマンドレットだと思います。

しかしながら、それらの手法で出力されたファイルは単なるテキストデータでしかありません。

人間が目視で読む分には問題ありませんが、PowerShell の特徴である「オブジェクト」としての形態を失っています。

 





   




   

 

何らかの理由により、オブジェクトとして、つまりプロパティとメソッドを保持したままファイルに出力したい場合は、” Export-Clixml ” を使用します。

このコマンドレットにより出力されるファイルはXML形式なので、当然、人間が目視して読むことには不向きです。

しかし、” Import-Clixml ” コマンドレットによりオブジェクトとして読み込むことで、プロパティとメソッドを再び利用可能になります。

(Export-Clixml も Import-Clixml も、Windows Server 2008 の PowerShell V1 から利用可能です。)

 

 

ただし、実行するコマンドレットによっては、オブジェクトの「」が変化する場合あるそうです。

「XMLでエクスポート&インポートしたオブジェクトは、元々のコマンドレット実行結果と完全に同一ではない。」ということを頭の隅に置いておきましょう。

・参考URL「PowerShell ガイド:CLiXML