gpt4 book ai didi

powershell - 从 SSIS 调用 Powershell 脚本时无法检索 stderr 和 stdout

转载 作者:行者123 更新时间:2023-12-02 23:32:28 25 4
gpt4 key购买 nike

我有一个 SSIS 包,它调用一些 powershell 脚本来使用 Web 服务。问题是,当我写入 stderror 或 stdout 时,StandardErrorVariable 和 StandardOutputVariable 没有从脚本中获取任何写入它们的内容。
脚本执行得很好,所以调用脚本不是问题,只是看起来好像标准输出流没有返回到 SSIS。以下是 Execute Process 任务的设置方式:
enter image description here
我尝试了各种从 powershell 写入输出的方法。大多数消息来源似乎表明 Write-Information 应该适用于 stdout,我在这个线程中使用了 mklement0 的答案,但也尝试了 Write-Error 并且都没有工作:How do I write to standard error in PowerShell?
有任何想法吗?

最佳答案

我用 Write-Host输出到标准输出,和 write-Error "Message" -ErrorAction Stop写入标准输出。我记得在使用 Write-Error 时遇到问题没有指定我想要一个终止错误,所以尝试设置每个写入错误的 ErrorPreference 或通过设置 $ErrorPreference在你的脚本的早期。正如评论中提到的,关于 powershell 流的工作方式有一些奇怪的地方,我不明白/其他人可以解释为什么比我能做得更好。
另一件事是我总是设置WindowStyle到隐藏。我不确定这会如何影响 stdout/err/in 流,但是从 SSIS 内部运行 PS 时,这让我省去了其他麻烦。

关于powershell - 从 SSIS 调用 Powershell 脚本时无法检索 stderr 和 stdout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64343915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com