จะแก้ไขข้อผิดพลาด "การเรียกใช้สคริปต์ถูกปิดใช้งานบนระบบนี้" บน Powershell ได้อย่างไร
Powershell เป็นกรอบงานอัตโนมัติและการจัดการที่ได้รับการพัฒนาและเผยแพร่โดย Microsoft ประกอบด้วยเชลล์บรรทัดคำสั่งและภาษาที่เกี่ยวข้อง ผู้ใช้สามารถรัน cmdlet จำนวนมากในโปรแกรม อย่างไรก็ตามเมื่อไม่นานมานี้มีรายงานจำนวนมากเข้ามาโดยที่ผู้ใช้ไม่สามารถเรียกใช้สคริปต์และ "การรันสคริปต์ถูกปิดใช้งานบนระบบนี้” หรือ“การทำงานของสคริปต์ถูกปิดการใช้งานในระบบนี้” แสดงข้อผิดพลาดใน Powershell
ในบทความนี้เราจะพูดถึงสาเหตุที่ทำให้ข้อผิดพลาดนี้อาจเกิดขึ้นและวิธีแก้ไขปัญหาที่สามารถแก้ไขได้อย่างถาวร อย่าลืมทำตามขั้นตอนอย่างระมัดระวังและถูกต้องเพื่อหลีกเลี่ยงความขัดแย้ง
อะไรเป็นสาเหตุของข้อผิดพลาด“ การเรียกใช้สคริปต์ถูกปิดใช้งานบนระบบนี้”
หลังจากได้รับรายงานจำนวนมากจากผู้ใช้หลายคนเราตัดสินใจที่จะตรวจสอบเรื่องนี้และการวิจัยของเราชี้ให้เห็นว่าข้อผิดพลาดเกิดจากปัญหาต่อไปนี้
เมื่อคุณมีความเข้าใจพื้นฐานเกี่ยวกับธรรมชาติของปัญหาแล้ว เราจะดำเนินการแก้ไขต่อไป
โซลูชันที่ 1: การเพิ่มรหัส
หากคุณต้องการเรียกใช้สคริปต์เฉพาะบนคอมพิวเตอร์ของคุณโดยไม่ต้องยุ่งยากกับการเปลี่ยนนโยบายการดำเนินการคุณสามารถเพิ่มโค้ดลงในคำสั่งได้ตลอดเวลาซึ่งจะให้สิทธิ์เข้าถึงสคริปต์ผ่านทางนโยบาย สำหรับการที่:
- กด“Windows” + “ร” เพื่อเปิดพรอมต์เรียกใช้
- พิมพ์ใน“Powershell” แล้วกด“กะ” + “Ctrl” + “ป้อน” พร้อมกันเพื่อให้สิทธิ์การเข้าถึงระดับผู้ดูแลระบบ
- พิมพ์คำสั่งเพื่อรันสคริปต์เฉพาะเช่นคำสั่งต่อไปนี้
c: \> powershell -ExecutionPolicy ByPass -File script.ps1
- กด“ป้อน” และ ตรวจสอบ เพื่อดูว่าปัญหายังคงมีอยู่หรือไม่
โซลูชันที่ 2: การเปลี่ยนนโยบายการดำเนินการ
เนื่องจากนโยบายการดำเนินการให้การเข้าถึง Powershell เพื่อเรียกใช้สคริปต์เฉพาะหากถูกตั้งค่าเป็นแบบ จำกัด ก็จะบล็อกสคริปต์ทั้งหมดไม่ให้เรียกใช้งาน มีโหมดต่างๆ ที่คุณสามารถกำหนดนโยบายได้ขึ้นอยู่กับสถานการณ์ของคุณ โหมดเหล่านั้นคือ:
เมื่อคุณทราบระดับที่สามารถตั้งค่านโยบายการดำเนินการได้แล้วคุณสามารถเลือกระดับที่ดีที่สุดสำหรับคุณได้อย่างง่ายดายโดยขึ้นอยู่กับความต้องการของคุณ ในการเปลี่ยนนโยบายการดำเนินการ:
- กด“Windows” + “ร” เพื่อเปิดพรอมต์เรียกใช้
- พิมพ์“ Powershell” แล้วกด“กะ” + “Ctrl” + “ป้อน” พร้อมกันเพื่อให้สิทธิ์การเข้าถึงระดับผู้ดูแลระบบ
- พิมพ์คำสั่งต่อไปนี้แล้วกด“ Enter” เพื่อดำเนินการ
Set-ExecutionPolicy Remotesigned
บันทึก:คำ "RemoteSigned” จะถูกแทนที่ด้วยระดับความปลอดภัยที่คุณต้องการตามที่ระบุไว้ข้างต้น
- กด“ย” เพื่อระบุว่าใช่และจะเปลี่ยนนโยบายกลุ่มเป็นระดับที่ต้องการ
- ตรวจสอบ เพื่อดูว่าปัญหายังคงมีอยู่หรือไม่