1

PowerShell代码片段:

$session = New-PSSession -ComputerName 'ALPHA' -Credential $cred
Invoke-Command -Session $session -ScriptBlock {
  cmd /c C:\Python27\python.exe test.py 
}

test.py python脚本将一些输出写入StdError,我相信这就是出现以下错误消息的原因(红色):

WARNING:root:warning
    + CategoryInfo          : NotSpecified: (WARNING:root:warning:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

问题:如何防止显示此错误消息?实际上,WARNING:root:warning应该显示消息,但NativeCommandError不应该显示。

将脚本输出重定向到$null对我不起作用,因为应该显示脚本输出。

类似的东西cmd /c C:\Python27\python.exe test.py 2>&1没有帮助,错误仍然出现

我目前能想到的唯一解决方案 - 将输出重定向到文件,删除这些错误行,然后将过滤后的文件内容打印到控制台。但是这个解决方案有点疯狂,我相信应该有另一个“理智”的解决方案。

谢谢

4

1 回答 1

0

我当前的解决方案:修改Python代码以使其将消息写入StdOut而不是StdErr. 值得庆幸的是,在我的情况下,这可以在不修改库代码的情况下完成(嘿,也就是说Python,它是动态的,因此具有极强的可扩展性)。

于 2011-08-21T17:31:19.063 回答