昔どこかで見かけたことはあるが、あまり使い道は無いのかと思っていた。
ふと思い立って、一応使い方を確認しておくことにした。
まずは、DLL(System.Management.Automation.dll)が必要なようなので参照を追加する。私のWindows8環境では以下の場所にあった。
"C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\3.0\System.Management.Automation.dll"
Get-Processを使うにはこんな感じでOKだった。
namespace PowerShellTest { class Program { static void Main(string[] args) { PowerShell ps = PowerShell.Create(); ps.AddCommand("Get-Process"); var results = ps.Invoke(); results.ToList().ForEach( p => Console.WriteLine(p.Properties["ProcessName"].Value));
} } } |
Get-ProcessからPSObjectが返ってきてしまうので、プロパティが文字列参照になってしまうあたりが今1つな感じ・・・。
0 件のコメント:
コメントを投稿