Question Comment exécuter un script PowerShell à partir d'une session Cygwin SSH?


J'ai installé Windows Server 2003 avec CopSSH (Cygwin + sshd). W aimerait pouvoir exécuter un script PowerShell via une commande de session SSH, puis utiliser sa sortie. Y a-t-il une telle capacité? Comment faire ?


11
2018-05-05 08:00


origine




Réponses:


Juste invoquer powershell avec les arguments pertinents et le diriger vers où vous le voulez? Vous devez vous assurer qu'il est dans le PATH bien sûr.


11
2018-05-05 12:01



Merci. Je ne pensais pas que ce soit aussi simple. - malloc4k
Ce n'est pas aussi simple. PowerShell utilise l'API de console; Cygwin (entre les mains d'utilisateurs expérimentés) n'est pas exécuté dans la console, mais dans un émulateur de terminal. PowerShell ne fonctionne pas dans un terminal; il se bloque car il essaie d'utiliser ReadConsoleInput au lieu de ReadFile sur l'entrée standard. - Barry Kelly


Barry Kelly a raison.

Vous devez utiliser mon logiciel de wrapper qui crée une console cachée et exécute Powershell sur celle-ci.

Ma page est ici: http://sergeybelous.com/shell-terminal/#proxywinconsole.exe

Quelqu'un a déjà trouvé mon logiciel d'emballage et créé le tutoriel ici: http://ssh-with-powershell.blogspot.com/2013/07/enable-ssh-with-powershell-and-remove.html


9
2018-03-03 04:23





Tout d’abord, il est bon d’ajouter le chemin d’exécutable de PowerShell à la variable d’environnement PATH de l’utilisateur. Nous le faisons en ajoutant à la ligne de fichier .bashrc de l'utilisateur telle que:

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

Ensuite, nous pouvons exécuter le script PowerShell en tapant simplement dans notre session SSH

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

Bien sûr, nous pouvons maintenant le diriger pour utiliser sa sortie.

Je me demande simplement pourquoi je dois appuyer sur "Entrée" deux fois dans ma session SSH après avoir tapé la commande pour que cela fonctionne.


6
2018-05-05 17:15



Pour éviter d'avoir à appuyer sur retour, exécutez la commande comme suit: echo "\n" | powershell.exe ... - Andrew


Essayez-le sans format d'entrée

powershell.exe -inputformat none -noprofile echo hello

Peut être utile pour ne pas avoir à livrer un fichier sur la machine locale.


4
2017-09-25 16:13





Si vous avez besoin de lancer powershell dans cygwin / babun, suivez https://code.google.com/p/mintty/issues/detail?id=56#c64 . Bascilly, downloard ou compiler https://github.com/rprichard/winpty, copiez-le dans votre $ PATH puis exécutez

console.exe powershell

Cela fonctionne également avec les scripts batch qui invoquent powershell à l'intérieur.


2
2017-07-24 14:34