2017-11-15 15 views
1

に取得する方法私はPuTTYの端末にpowershellを発行すると、私はそれがどういう意味Windoes 7にリモートSSHサーバー上で実行するWindowsアプリケーションの出力は、ローカルのSSHクライアント

を実行しているSSHサーバに接続するためにはPuTTYを使用していますリモートマシンでpowershellコマンドウィンドウが開きますか?

リモートで実行しているpowershellウィンドウの出力は、PuTTYクライアントにどのようにルーティングされますか?

申し訳ありませんが、これは不自然な質問ですが、それほど私には分かりません。

+0

どのSSHサーバーを使用していますか? – Fang

+0

@ Fang何がsshサーバを使っているのですか?それはすべてのsshサーバーで同じではありませんか? – Ringger81

答えて

1

リモートマシンでPowerShellが実行されている間は、サーバー上にウィンドウが表示されません。

powershell.exeはコンソールアプリケーションです。コンソールアプリケーションには、標準IO(入力と出力)があります。 Windowsコンソールアプリケーションをローカルで実行すると、Windows GUIによってコンソールウィンドウが作成され、アプリケーションIOがウィンドウにバインドされます。一方、SSHサーバー経由でコンソールアプリケーションを実行すると、SSHサーバーはアプリケーションIOをSSHシェルセッションにバインドします。 PowerShellが印刷するものはすべて、SSHシェルセッション出力にルーティングされ、最終的にはローカルのSSHクライアントウィンドウ(PuTTY)にレンダリングされます。

つまり、ローカルのPowerShellウィンドウは、PowerShellプロセス自体ではなく、Windows GUI(PowerShellを実行するシステム)によってレンダリングされます(GUIアプリケーションのウィンドウとは異なります)。 SSHサーバーのような別のシステムでは、IOをSSHシェルセッションにルーティングするなど、IOとはまったく異なる「レンダリング」を選択できます。

* nixサーバーでlsコマンドを使用する場合と同じプロセスです。 lsもコンソールアプリケーションです。 (Afaik、すべての* nixアプリケーションは実際にはコンソールアプリケーションですが、Windowsではそうではありません)

+0

SSHサーバー経由でPowerShell.exeを実行すると(例えばputtyを使用)、リモートマシンにPowerShellコンソールウィンドウは作成されませんが、ユーティリティを静かに(バックグラウンドで)すべての出力をsshクリエートにルーティングしますか? – Ringger81

+1

はい、そうです。 –

関連する問題