从 C# 通过 Runspace 运行 Powershell 脚本非常慢

ya2*_*a23 5 c# powershell performance

从 Powershell 命令窗口执行特定脚本时,执行大约需要 2 分钟。使用 System.Management.Automation.Runspaces 从 C#(Windows 服务)执行相同的脚本需要 5 到 6 分钟!从服务生成新的 powershell.exe 进程使时间再次下降到 2 分钟。

我还注意到使用 Runspace 时 CPU 使用率更高。

毫不奇怪,几乎所有时间都花在 Pipeline.Invoke() 上,这并没有使问题的调试变得更容易。

我使用的脚本很复杂并且做了很多事情,因此确定问题并不容易。我怎样才能缩小问题范围?

我可能遗漏了一些明显的东西吗?