我正在使用PuTTY连接到在Windoes 7上运行的SSH服务器。
当我在PuTTY终端发出powershell
时,是否意味着在远程计算机上打开了powershell
命令窗口?
如果是这样,远程运行powershell
窗口的输出如何路由到PuTTY客户端?
对不起,如果这是一个蹩脚的问题,但对我来说不是那么明显。
答案 0 :(得分:1)
在远程计算机上执行PowerShell时,服务器上不会打开任何窗口。
powershell.exe
是一个控制台应用程序。控制台应用程序具有标准IO(输入和输出)。如果在本地运行Windows控制台应用程序,Windows GUI将创建一个控制台窗口并将应用程序IO绑定到窗口。如果您通过SSH服务器运行控制台应用程序,则SSH服务器会将应用程序IO绑定到SSH shell会话。因此,PowerShell打印的任何内容都会路由到SSH shell会话输出,最终会在本地SSH客户端窗口(PuTTY)中呈现。
换句话说,本地PowerShell窗口由Windows GUI(执行PowerShell的系统)呈现,而不是由PowerShell进程本身呈现(与GUI应用程序的窗口相反)。另一个系统,如SSH服务器,可以选择完全不同的IO“渲染”,例如将IO路由到SSH shell会话。
如果您在* nix服务器上使用ls
命令,那就是相同的过程。 ls
也是一个控制台应用程序。 (Afaik,所有* nix应用程序实际上都是控制台应用程序,在Windows上不是这样。)