我是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#,以最大限度地减少将输出转换为数组所需的代码量。如果没有其他选择,我会走那条路。对于我的项目,我想坚持使用远程应用程序的列表框输出。
我事先感谢大家的帮助。
答案 0 :(得分:2)
您可以在C#中将数据从PowerShell作为集合返回。只需对返回的集合使用LINQ ToArray()方法来获取数组,例如:
PSObject[] results = pipeline.Invoke().ToArray();