Cygwin SSH oturumundan bir PowerShell betiği nasıl çalıştırılır?


12

Üzerinde CopSSH yüklü Windows Server 2003 var (Cygwin + sshd). W, SSH oturum komutu aracılığıyla bir PowerShell betiği çalıştırabilir ve ardından çıktısını kullanabilir. Böyle bir yetenek var mı? Nasıl yapılır ?

Yanıtlar:


11

Sadece powershellilgili argümanlarla çağırın ve istediğiniz yere yönlendirin? Elbette olduğundan emin olmalısınız PATH.


Teşekkürler. Ben bu kadar basit olduğunu düşünmemiştim.
malloc4k

15
O kadar basit değil. PowerShell, Konsol API'sını kullanır; Cygwin (deneyimli kullanıcıların elinde) konsolda çalıştırılmaz, bir terminal emülatöründe çalıştırılır. PowerShell bir terminalde çalışmaz; standart girişte ReadFile yerine ReadConsoleInput kullanmaya çalıştığı için kilitleniyor.
Barry Kelly


6

İlk şey, kullanıcının PATH çevresel değişkenine PowerShell'in yürütülebilir yolunu eklemek iyidir. Kullanıcının .bashrc dosya satırına aşağıdaki gibi ekleyerek yaparız:

export PATH=${PATH}:"/cygdrive/c/WINDOWS/system32/WindowsPowerShell/v1.0"

Sonra sadece SSH oturumumuza yazarak PowerShell betiğini çalıştırabiliriz

powershell.exe -File "c:\u.ps1"

Tabii ki şimdi çıktısını kullanmak için borulandırabiliriz.

Sadece neden çalışmak için komut yazdıktan sonra SSH oturumumda iki kez "Enter" tuşuna basmam gerektiğini merak ediyorum.


4
Geri dönmek zorunda kalmamak için, şu komutu çalıştırın:echo "\n" | powershell.exe ...
Andrew

4

Giriş formatı olmadan deneyin

powershell.exe -inputformat none -noprofile echo hello

Yerel makineye bir dosya teslim etmek zorunda kalmamanız açısından faydalı olabilir.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.