我正在实现一个自定义的PowerShell主机,需要读取PowerShell脚本的stdout和stderr。问题是,当我将调用管道返回的对象转换为字符串时,得不到stdout。然而,当我向管道中添加“out-string”命令时,它可以完美地工作。有没有办法在不使用“out-string”的情况下获取stdout和stderror?
this.currentPowerShell.AddScript(cmd);
Collection<PSObject> results = this.currentPowerShell.Invoke();
foreach (PSObject obj in results)
{
Console.WriteLine(obj.ToString());
}
当我使用上述代码时,我只能获得部分的标准输出。