2011-08-11 14 views
1

PowerShellコードスニペット:PowerShell:リモートコマンドの実行とStdErrorへの書き込み。エラーメッセージを避けるには?

$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

'cmd/c C:\ Python27 \ python.exe test.py 2> nul'はどうですか? – vcsjones

+0

'2> $ null'の問題は、'警告:root:警告 '_が表示されることです、私は' NativeError'部分を取り除きたいだけです – Roman

答えて

0

私の現在のソリューション:それはStdOut代わりのStdErrにメッセージを書き込む作るためにPythonコードを変更します。ありがたいことに、私のケースでは、これはライブラリのコードを変更せずに行うことができます(ちょっと、それはPython、それは動的なのでは非常に拡張可能です)。

関連する問題