0

具有以下 NET 5 控制台应用程序:

static void Main(string[] args)
{
    using var ps = PowerShell.Create();
    // ps.AddCommand("Get-Service");
    ps.AddStatement().AddCommand("Get-Service");
    ps.Invoke();
}

调用似乎没有错误地执行,但是输出去哪里了?我已经尝试了AddCommandand AddStatement,并且还检查了ps调试器中的变量,没有输出迹象。我确实发现了,ps.Streams.Information但它是空的。

4

1 回答 1

1

如PowerShell.Invoke方法的文档中所述,它返回一个集合,其中包含 PowerShell 操作产生的任何结果。

因此,你可以写

static void Main(string[] args)
{
    using var ps = PowerShell.Create();
    ps.AddStatement().AddCommand("Get-Service");
    var results = ps.Invoke();

    foreach (var result in results)
    {
        Console.WriteLine(result);
    }
}
于 2021-02-28T08:29:41.873 回答