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
之类的内容无效,错误仍会显示
我目前唯一能想到的解决方案 - 将输出重定向到文件,删除这些错误行,然后将过滤后的文件内容打印到控制台。但是这个解决方案有点疯狂,我相信应该有另一种“理智”的解决方案。
由于
答案 0 :(得分:0)
我当前的解决方案:修改Python
代码,使其将邮件写入StdOut
而不是StdErr
。值得庆幸的是,在我的情况下,这可以在不修改库代码的情况下完成(嘿,那是Python
,它是动态的,因此极易扩展)。