Cygwin SSH 세션에서 PowerShell 스크립트를 실행하는 방법은 무엇입니까?


12

CopSSH가 설치된 Windows Server 2003 (Cygwin + sshd)이 있습니다. SSH 세션 명령을 통해 PowerShell 스크립트를 실행 한 다음 출력을 사용하려고합니다. 그런 능력이 있습니까? 어떻게합니까?

답변:


11

그냥 호출 powershell당신이 그것을 원하는 목적지까지 관련 인수 및 파이프 함께? 당신 PATH은 물론 그것이 있는지 확인해야합니다 .


감사. 나는 그것이 그렇게 간단하다고 생각하지 않았다.
malloc4k

15
그렇게 간단하지 않습니다. PowerShell은 콘솔 API를 사용합니다. Cygwin (숙련 된 사용자의 손에있는)은 콘솔에서 실행되지 않고 터미널 에뮬레이터에서 실행됩니다. 터미널에서 PowerShell이 ​​작동하지 않습니다. 표준 입력에서 ReadFile 대신 ReadConsoleInput을 사용하려고하기 때문에 중단됩니다.
Barry Kelly


6

우선 사용자의 PATH 환경 변수에 PowerShell의 실행 파일 경로를 추가하는 것이 좋습니다. 우리는 다음과 같이 사용자의 .bashrc 파일 라인에 추가하여 수행합니다.

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

그런 다음 SSH 세션에 입력하여 PowerShell 스크립트를 실행할 수 있습니다

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

물론 이제 출력을 사용하도록 파이프 할 수 있습니다.

SSH 세션에서 명령을 입력 한 후 SSH 세션에서 "Enter"를 두 번 눌러야하는 이유가 궁금합니다.


4
리턴을 누르지 않으려면 다음과 같이 명령을 실행하십시오.echo "\n" | powershell.exe ...
Andrew

4

입력 형식없이 사용해보십시오

powershell.exe -inputformat none -noprofile echo hello

로컬 컴퓨터로 파일을 전달할 필요가없는 경우에 유용합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.