我希望有一个C#控制台程序,它使用Format-Table
来显示对象。这是一个简单的C#程序:
using System;
using System.Collections.Generic;
using System.Text;
using System.Management.Automation;
namespace PowerShellFormatTableTest
{
class Program
{
static void Main(string[] args)
{
var ps = PowerShell.Create()
.AddCommand("Get-Process")
.AddCommand("Format-Table");
foreach (var result in ps.Invoke())
{
// ...
}
}
}
}
大多数result
元素当然是FormatEntryData
个对象。
有没有办法将Format-Table
格式化的输出打印到控制台?
上面的例子只是一个简单的例子。通常情况下,我会传递任意对象
答案 0 :(得分:2)
如果将结果从Format-Table
传递给Out-String
,那么您应该获得与字符串对象相同的输出。试试这个:
var ps = PowerShell.Create()
.AddCommand("Get-Process")
.AddCommand("Format-Table")
.AddCommand("Out-String");
答案 1 :(得分:1)
以下是更新示例以演示Frode的建议:
using System;
using System.Collections.Generic;
using System.Text;
using System.Management.Automation;
namespace PowerShellFormatTableTest
{
class Program
{
static void Main(string[] args)
{
var ps = PowerShell.Create()
.AddCommand("Get-Process")
.AddCommand("Format-Table")
.AddCommand("Out-String");
Console.WriteLine(ps.Invoke()[0]);
}
}
}