PsExec はデスクトップを介して対話し、CMD にメッセージを報告するプログラムを開きます。

PsExec はデスクトップを介して対話し、CMD にメッセージを報告するプログラムを開きます。

リモート マシンでスクリプトを実行したいのですが、スクリプトはデスクトップを認識する必要があるため、バックグラウンド プロセスとして実行することはできません。これを行うには、次のコマンドを使用します。

psexec \\RemoteMachine -u username -p password -i #ID cmd /c python C:\script.py

これにより、スクリプトは正しく実行されますが、スクリプトの STDOUT は RemoteMachine のみに表示されます。psexec に返されるメッセージは次のものだけです。

python.exe はエラー コード 0 で RemoteMachine 上で終了しました。

注: 次のように実行すれば、希望するSTDOUT動作が得られます。

psexec \\RemoteMachine -u username -p password cmd

次に、cmd 経由でスクリプトに移動します。ただし、これにより、スクリプトはユーザー セッションまたはデスクトップにアクセスせずにバックグラウンド プロセスとして実行されます。

では、デスクトップを認識し、元の psexec cmd ウィンドウに STDOUT が表示されるようにスクリプトを実行するにはどうすればよいでしょうか?

関連情報