Bagaimana menjalankan skrip PowerShell dari sesi Cygwin SSH?

12

Saya memiliki Windows Server 2003 dengan CopSSH diinstal di atasnya (Cygwin + sshd). W ingin dapat menjalankan skrip PowerShell melalui perintah sesi SSH dan kemudian menggunakan outputnya. Apakah ada kemampuan seperti itu? Bagaimana cara melakukannya ?

malloc4k
sumber

Jawaban:

11

Hanya meminta powershellargumen yang relevan dan pipa ke mana pun Anda inginkan? Anda perlu memastikan itu ada di PATHtentu saja.

ak2
sumber
Terima kasih. Saya tidak berpikir sesederhana itu.
malloc4k
15
Tidak sesederhana itu. PowerShell menggunakan API Konsol; Cygwin (di tangan pengguna berpengalaman) tidak berjalan di konsol, itu dijalankan di emulator terminal. PowerShell tidak berfungsi di terminal; itu hang karena mencoba menggunakan ReadConsoleInput daripada ReadFile pada input standar.
Barry Kelly
6

Hal pertama yang baik adalah menambahkan path executable PowerShell ke variabel lingkungan PATH pengguna. Kami melakukannya dengan menambahkan baris file .bashrc pengguna seperti:

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

Lalu kita bisa menjalankan skrip PowerShell hanya mengetik di sesi SSH kami

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

Tentu saja sekarang kita dapat menyalurkannya menggunakan outputnya

Saya hanya ingin tahu mengapa saya harus menekan "Enter" dua kali dalam sesi SSH saya setelah mengetik perintah untuk itu berfungsi.

malloc4k
sumber
4
Untuk menghindari keharusan memukul balik, jalankan perintah seperti:echo "\n" | powershell.exe ...
Andrew
4

Cobalah tanpa masukan format

powershell.exe -inputformat none -noprofile echo hello

Dapat bermanfaat karena tidak harus mengirim file ke mesin lokal.

PatrickWalker
sumber