ฉันมี Windows Server 2003 ที่มี CopSSH ติดตั้งอยู่ (Cygwin + sshd) W ต้องการให้สามารถเรียกใช้สคริปต์ PowerShell ผ่านคำสั่งเซสชัน SSH แล้วใช้เอาต์พุต มีความสามารถเช่นนี้ไหม? ทำอย่างไร ?
ฉันมี Windows Server 2003 ที่มี CopSSH ติดตั้งอยู่ (Cygwin + sshd) W ต้องการให้สามารถเรียกใช้สคริปต์ PowerShell ผ่านคำสั่งเซสชัน SSH แล้วใช้เอาต์พุต มีความสามารถเช่นนี้ไหม? ทำอย่างไร ?
คำตอบ:
เพียงแค่เรียกใช้powershell
อาร์กิวเมนต์ที่เกี่ยวข้องแล้วส่งไปที่ใดก็ได้ที่คุณต้องการ คุณต้องแน่ใจว่ามันอยู่ในPATH
หลักสูตร
Barry Kelly พูดถูก
คุณต้องใช้ซอฟต์แวร์ wrapper ของฉันที่สร้างคอนโซลที่ซ่อนอยู่และเรียกใช้ powershell บนมัน
หน้าของฉันอยู่ที่นี่: http://sergeybelous.com/shell-terminal/#proxywinconsole.exe
มีคนพบซอฟต์แวร์ห่อหุ้มของฉันแล้วและสร้างบทช่วยสอนที่นี่: http://ssh-with-powershell.blogspot.com/2013/07/enable-ssh-with-powershell-and-remove.html
สิ่งแรกมันเป็นการดีที่จะเพิ่มพา ธ ที่สามารถใช้งานได้ของ PowerShell ให้กับตัวแปรสภาพแวดล้อม PATH ของผู้ใช้ เราทำได้โดยเพิ่มลงในไฟล์. bashrc ของผู้ใช้เช่น:
export PATH=${PATH}:"/cygdrive/c/WINDOWS/system32/WindowsPowerShell/v1.0"
จากนั้นเราสามารถเรียกใช้สคริปต์ PowerShell เพียงพิมพ์ในเซสชัน SSH ของเรา
powershell.exe -File "c:\u.ps1"
แน่นอนตอนนี้เราสามารถไปป์มันเพื่อใช้มันเป็นเอาท์พุต
ฉันแค่สงสัยว่าทำไมฉันต้องกด "Enter" สองครั้งในเซสชัน SSH หลังจากพิมพ์คำสั่งเพื่อให้ทำงาน
echo "\n" | powershell.exe ...
ลองไม่มีรูปแบบอินพุต
powershell.exe -inputformat none -noprofile echo hello
มีประโยชน์สำหรับการไม่ต้องส่งไฟล์ไปยังเครื่องโลคอล
หากคุณจำเป็นต้องเรียกใช้ภายใน PowerShell Cygwin / babun ทำตามhttps://code.google.com/p/mintty/issues/detail?id=56#c64 Bascilly, downloard หรือคอมไพล์https://github.com/rprichard/winptyคัดลอกไปยัง $ PATH ของคุณแล้วเรียกใช้
console.exe powershell
สิ่งนี้ยังทำงานกับแบทช์สคริปต์ที่เรียกใช้ PowerShell ภายใน