相当新的C#,对PowerShell来说并不新鲜.
我想使用C#来执行PowerShell代码.但是,对象的输出与在PowerShell窗口中运行命令的输出不同.我找回了对象的名字而不是它的数据.这是我正在尝试的:
string script = @" get-process | ft "; PowerShell powerShell = PowerShell.Create(); powerShell.AddScript(script); var results = powerShell.Invoke(); foreach (var item in results) { Console.WriteLine(item); }
返回:
Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData
但是,在PowerShell命令行窗口中,它返回更加格式化的表视图:
PS C:\ Dropbox\PowerShell> ps | FT
处理NPM(K)PM(K)WS(K)VM(M)CPU(s)Id SI ProcessName ------- ------ ----- ----- --- - ------ - - ----------- 131 12 1980 2572 85 0.45 13216 1 acrotray
真的想要两件事:
将生成与PowerShell命令窗口相同的输出的代码
对正在发生的事情的解释,以便我可以学习如何更好地导航它
提前致谢!