我有一個Powershell .ps腳本,它在Windows計算機中執行一些基本的東西。我通過ssh-ing來調用這個腳本到windows機器上。 Windows機器上安裝了cygwin Open-SSh。如何在從cygwin運行時結束s Powershell腳本
問題:腳本被執行但不會返回到SSH會話。 如何讓PowerShell腳本結束並將控制權返還給SSH會話?
我有一個Powershell .ps腳本,它在Windows計算機中執行一些基本的東西。我通過ssh-ing來調用這個腳本到windows機器上。 Windows機器上安裝了cygwin Open-SSh。如何在從cygwin運行時結束s Powershell腳本
問題:腳本被執行但不會返回到SSH會話。 如何讓PowerShell腳本結束並將控制權返還給SSH會話?
可能有點遲,但是我們在安裝cygwin sshd在linux webserver的citrix服務器上運行powershell命令後出現類似的問題。
我們最終落此頁上: http://epeleg.blogspot.com/2010/06/solution-to-powershell-never-exists.html
這促使我們去創造與它內部的PowerShell命令一個批處理文件,語法如下:
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -Noninteractive -Command "& { "your powershell script and arguments here" }"<NUL
我們只需運行批處理文件,而不是直接調用powershell,並使用%1作爲變量,如果我們需要在批處理文件中。
< NUL在最後告訴powershell不要期望輸入,並使其退回到ssh提示符。我希望這可以幫助你,或者有人落在這個線程上!
尼斯和簡單的解決方案在這裏:
回聲 「\ n」 | powershell ....等.....
Devnull的解決方案爲我工作,但關鍵是<NUL
。
我試圖通過遠程計算機上的Perl腳本執行Cygwin Openssh連接的Powershell命令。而不是創建一個批處理文件,我寫的PowerShell命令到PS1文件,通過scp轉讓本,然後用下面的Perl執行它通過ssh:
my ($stdout,$stderr) = Net::SSH->new("[email protected]")->capture2({ timeout => $timeout }, "powershell -file $copied_ps1_file<NUL");
你是如何運行腳本?你使用的是什麼命令? – EBGreen 2011-06-13 17:28:28