Come eseguire uno script PowerShell dalla sessione SSH di Cygwin?


12

Ho installato Windows Server 2003 con CopSSH (Cygwin + sshd). W vorrebbe essere in grado di eseguire uno script PowerShell tramite il comando della sessione SSH e quindi usarne l'output. Esiste tale capacità? Come farlo ?

Risposte:


11

Basta invocare powershellgli argomenti pertinenti e inoltrarlo dove vuoi? Devi assicurarti che sia PATHovviamente.


Grazie. Non pensavo fosse così semplice.
malloc4k,

15
Non è così semplice. PowerShell utilizza l'API della console; Cygwin (nelle mani di utenti esperti) non viene eseguito nella console, ma viene eseguito in un emulatore di terminale. PowerShell non funziona in un terminale; si blocca perché sta tentando di utilizzare ReadConsoleInput anziché ReadFile sull'input standard.
Barry Kelly,


6

Per prima cosa è bene aggiungere il percorso eseguibile di PowerShell alla variabile ambientale PATH dell'utente. Lo facciamo aggiungendo alla riga del file .bashrc dell'utente come:

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

Quindi possiamo eseguire lo script PowerShell semplicemente digitando nella nostra sessione SSH

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

Ovviamente ora possiamo convogliarlo per usare il suo output.

Mi chiedo solo perché devo premere "Invio" due volte nella mia sessione SSH dopo aver digitato il comando affinché funzioni.


4
Per evitare di dover premere Invio, eseguire il comando come:echo "\n" | powershell.exe ...
Andrew

4

Provalo senza inputformat

powershell.exe -inputformat none -noprofile echo hello

Può essere utile per non dover consegnare un file al computer locale.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.