プログラミングkeizouC#からPowerShellのスクリプトを呼ぶ方法と戻り値を受け取る方法ツイートシェアはてブ送るPocketこんにちは。今回は「C#からPowerShellのスクリプトを呼ぶ方法と戻り値を受け取る方法」関する記事です。下記、サンプルスクリプトです。}}最低限の実行なら、こんな感じでたったの3行で実行できます。必要な参照12行目のRunspaceInvokeを使用するためには、System.Managmenet.Automationの参照が必要になります。PowerShellの実行のために必要なライブラリになります。SDKをインストールしていれば下記のパスにdllが配置されているので、それを参照しましょう。Assemblies\Microsoft\WindowsPowerShell\3.0\System.Management.Automation.dll(各環境により若干のパスの違いはある可能性があります。SDKのインストーラをダウウンロードできますので、これでインストールしてください。戻り値の受け取り方についてですが、上記サンプルスクリプトのように、「PSObject」としてPowerShellの戻り値が1つにラップされて返されます。このPSObjectにどのような戻り値が含まれるかについては、別の記事で触れていますので、そちらをご覧ください。上記の問題をしたPowerShellの以下のようなスクリプトを呼び出すとします。$ResultTable戻り値に含まれるのは、$ResultTableというハッシュテーブル1つだけになります。C#側でこれを受け取って扱うためには、以下のように記述します。}}こういう感じになります。PowerShell側できちんと1つのハッシュテーブルだけが返されるように作られていれば、このように取り出したい結果だけを扱うことが可能になります。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。PowerShellで特定フォルダ配下のファイル一覧を取得する【Get-ChildItem】カツカレーが美味しい理由RECOMMENDこちらの記事も人気です。