从C#发送Powershell并从结果返回Array对象?

时间:2014-08-16 23:55:51

标签: c# powershell powershell-v2.0

我是C#和Powershell的新手,希望从C#运行一些Powershell。我想要做的是将Powershell的输出转换为数组,以便在C#中使用。

目标是发送Get-Process等命令并将结果返回给C#,并使用listbox.DataSource属性将其显示在列表框中。

我发现了这个:Turn list output into an array of objects or something similar using Powershell

我还没想出如何根据我的需要使用答案。请记住,Get-Process只是一个例子。有很多其他数据可以很好地转储到数组并传入C#,以最大限度地减少将输出转换为数组所需的代码量。如果没有其他选择,我会走那条路。对于我的项目,我想坚持使用远程应用程序的列表框输出。

我事先感谢大家的帮助。

1 个答案:

答案 0 :(得分:2)

您可以在C#中将数据从PowerShell作为集合返回。只需对返回的集合使用LINQ ToArray()方法来获取数组,例如:

PSObject[] results = pipeline.Invoke().ToArray();