当前位置:  开发笔记 > 编程语言 > 正文

PowerShell通过C#控制台输出不同

如何解决《PowerShell通过C#控制台输出不同》经验,为你挑选了0个好方法。

相当新的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命令窗口相同的输出的代码

    对正在发生的事情的解释,以便我可以学习如何更好地导航它

提前致谢!

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有