使用的 Powershell 版本:3.0
大家好,
我正在尝试创建一个新的 Powershell 管道并在其中执行一个脚本,然后将它产生的输出获取到一个输出变量中,但是我无法从对象内部(从执行的脚本)中获得任何输出。这样做的重点是我不必管理 $Error 对象,我打算将其用于错误检测。下面是一个示例:
$ps = [Powershell]::Create()
$File = ".\Test2.ps1"
$SortedParams = "-Name blah -Key foo"
$RootDirectory = Get-Location
$ExecutionDirectory = "$RootDirectory\Test3"
$ps.AddCommand("Set-Location").AddParameter("Path", "$ExecutionDirectory")
write-host "COMMAND 1: " $ps.Commands.Commands.Item(0).CommandText
$ps.AddScript("$File $SortedParams")
write-host "COMMAND 2: " $ps.Commands.Commands.Item(1).CommandText
$output = $ps.Invoke()
write-host $output
我应该提到我正在尝试使用以下 3 种方法在执行的脚本中产生输出:
- 写主机
- 写输出
- Write-Verbose(使用 $ps.Streams.Verbose 尝试获取输出,但没有)
非常感谢您提供的任何建议或提示!