โฮมเพจ » ทำอย่างไร » PowerShell ทำงานกับระบบปฏิบัติการอื่นที่นอกเหนือจาก Windows หรือไม่

    PowerShell ทำงานกับระบบปฏิบัติการอื่นที่นอกเหนือจาก Windows หรือไม่

    มันอาจจะน่าผิดหวังมากเมื่ออาจารย์ของคุณพูดถึงสิ่งหนึ่งเกี่ยวกับ PowerShell และเว็บไซต์ต่าง ๆ ดูเหมือนจะมีข้อพิสูจน์ที่ชัดเจน PowerShell ใช้งานได้กับระบบที่ไม่ใช่ Windows จริงหรือไม่? โพสต์ SuperUser คำถาม & คำตอบนี้มีคำตอบสำหรับคำถามของผู้อ่านที่ทำให้งง.

    เซสชั่นคำถามและคำตอบในวันนี้มาถึงเราด้วยความอนุเคราะห์จาก SuperUser - แผนกย่อยของ Exchange Exchange ซึ่งเป็นกลุ่มที่ขับเคลื่อนด้วยชุมชนของเว็บไซต์ถาม - ตอบ.

    คำถาม

    ผู้อ่าน SuperUser FredSavage187 ต้องการทราบว่า PowerShell ทำงานบนระบบปฏิบัติการอื่นนอกเหนือจาก Windows:

    เมื่อเร็ว ๆ นี้อาจารย์วิทยาศาสตร์คอมพิวเตอร์ของฉันได้ให้เราตอบคำถามและหนึ่งในคำถามคือ“ จริงหรือเท็จ: PowerShell ใช้งานได้กับ Windows, Mac และ Linux” คำตอบที่ถูกต้องคือ“ เท็จ” และเขายืนยันว่า PowerShell เป็น Windows เท่านั้น แต่ฉันพบเว็บไซต์สองแห่งที่พูดอย่างอื่น:

    PowerShell เปิดแหล่งที่มาและมีอยู่ใน Linux [Microsoft Azure Blog]

    ที่เก็บ PowerShell [GitHub]

    อันไหนที่ถูกต้องจริง PowerShell ทำงานบน Linux และ Mac OS และ Windows ได้หรือไม่?

    PowerShell ทำงานบนระบบปฏิบัติการอื่นนอกเหนือจาก Windows?

    คำตอบ

    ผู้สนับสนุน SuperUser Ben N มีคำตอบสำหรับเรา:

    ใช่. PowerShell ส่วนใหญ่เป็น. NET ดังนั้นจึงสามารถเรียกใช้บนระบบปฏิบัติการใด ๆ ที่มี Common Language Runtime (CLR) บน Windows นั่นคือ. NET Framework สำหรับระบบปฏิบัติการอื่น ๆ รวมถึง Linux คุณสามารถใช้ CoreCLR ซึ่งเป็นเซตย่อยโอเพ่นซอร์สข้ามแพลตฟอร์มของ. NET Framework.

    เมื่อคุณเรียนรู้ที่ที่เก็บ PowerShell บน GitHub ระบบปฏิบัติการและการแจกแจงบางส่วนได้รับการสนับสนุน ตัวอย่างเช่นนี่คือคำแนะนำสำหรับ Ubuntu และการสาธิต:

    อาจมีบางคนโต้แย้งว่า PowerShell ไม่ทั้งหมดมีอยู่ในสภาพแวดล้อมที่ไม่ใช่ Windows เนื่องจากคุณสมบัติบางอย่างขึ้นอยู่กับไลบรารีที่พบใน Windows เท่านั้น ParsedHtml สถานที่ให้บริการใน HtmlWebResponseObject ประเภทที่ส่งคืนโดย เรียก-WebRequest, ตัวอย่างเช่นมีประโยชน์เฉพาะบน Windows เนื่องจากมีวัตถุ COM ที่มาจากไลบรารีที่ไม่มีการจัดการ, mshtml.dll จะเฉพาะเจาะจง บนแพลตฟอร์มอื่น ๆ ไม่มีอะไรที่นั่น และแน่นอนว่ามี cmdlets สำหรับการจัดการระบบที่พบเฉพาะใน Windows เช่นแอปที่ทันสมัย ​​(Get-AppxPackage, ตัวอย่างเช่น).

    ถึงแม้ว่าโครงสร้างพื้นฐาน PowerShell จะทำงานได้ดีบนระบบปฏิบัติการอื่น ๆ อย่างสมบูรณ์ แต่ cmdlet จำนวนมากสามารถใช้งานได้ทุกที่และการสนับสนุนก็เริ่มดีขึ้น.


    มีสิ่งที่จะเพิ่มคำอธิบายหรือไม่ ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange คนอื่นหรือไม่ ลองอ่านหัวข้อสนทนาเต็มได้ที่นี่.

    เครดิตรูปภาพ: Jeff Hicks (Petri IT Knowledgebase)