我在远程会话下使用 Invoke-Expression,当抛出异常时 - 它只返回 RemoteException 而没有任何堆栈跟踪信息。例子:
try
{
Invoke-Expression "$command 2>&1"
}
catch
{
Write-Host $_
}
如果我将重定向错误排除到输出(2>&1
) - 我得到了正确的错误,但它调用了不需要的调试控制台(来自 $command),它使用重定向隐藏。
Start-Process -NoNewWindow -FilePath $CmdExe -ArgumentList $Arguments
使用 Start-Process 我可以看到完整的堆栈跟踪,但也有不需要的调试控制台。
如何从远程会话下抛出的异常中获取完整的堆栈跟踪和正确的异常?谢谢。