Computer >> คอมพิวเตอร์ >  >> การแก้ไขปัญหา >> ข้อผิดพลาดของ Windows

วิธีการแก้ไขข้อผิดพลาด 'รันสคริปต์ถูกปิดใช้งานในระบบนี้' บน Powershell

Powershell เป็นงานอัตโนมัติและกรอบงานการจัดการที่พัฒนาและเผยแพร่โดย Microsoft ประกอบด้วยเชลล์บรรทัดคำสั่งและภาษาที่เกี่ยวข้อง ผู้ใช้สามารถรัน cmdlet จำนวนมากในโปรแกรม อย่างไรก็ตาม เมื่อไม่นานมานี้ มีรายงานจำนวนมากที่ผู้ใช้ไม่สามารถเรียกใช้สคริปต์และ “การเรียกใช้สคริปต์ถูกปิดใช้งานบนระบบนี้ ” หรือ “การทำงานของสคริปต์ถูกปิดการใช้งานในระบบนี้ ” ข้อผิดพลาดปรากฏขึ้นใน Powershell

วิธีการแก้ไขข้อผิดพลาด  รันสคริปต์ถูกปิดใช้งานในระบบนี้  บน Powershell

ในบทความนี้ เราจะพูดถึงสาเหตุที่ทำให้เกิดข้อผิดพลาดนี้และวิธีแก้ไขที่ได้ผลเพื่อแก้ไขอย่างถาวร อย่าลืมทำตามขั้นตอนอย่างระมัดระวังและถูกต้องเพื่อหลีกเลี่ยงความขัดแย้ง

อะไรทำให้เกิดข้อผิดพลาด “เรียกใช้สคริปต์ถูกปิดใช้งานบนระบบนี้” ข้อผิดพลาด

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

  • สคริปต์ที่ปิดใช้งาน:  ทุกสคริปต์ที่คุณเรียกใช้บน Powershell ต้องมีการตรวจสอบระดับหนึ่งจากแหล่งที่เชื่อถือได้เพื่อให้สามารถทำงานได้ อย่างไรก็ตาม ในบางกรณี แม้ว่าสคริปต์จะมีการตรวจสอบ แต่ก็ยังคงหยุดการทำงานเนื่องจากการจำกัดการเข้าถึง ประเด็นคือ Windows มี "นโยบายการดำเนินการ" ที่สคริปต์จำเป็นต้องเลี่ยงผ่านเพื่อให้สามารถดำเนินการได้ หากกำหนดนโยบายการดำเนินการเป็น "จำกัด" สคริปต์จะไม่สามารถเรียกใช้บนคอมพิวเตอร์ได้

เมื่อคุณมีความเข้าใจพื้นฐานเกี่ยวกับธรรมชาติของปัญหาแล้ว เราจะดำเนินการแก้ไขต่อไป

แนวทางที่ 1:การเพิ่มโค้ด

หากคุณต้องการเรียกใช้สคริปต์เฉพาะบนคอมพิวเตอร์ของคุณโดยไม่ต้องเปลี่ยนนโยบายการดำเนินการให้ยุ่งยาก คุณสามารถเพิ่มโค้ดลงในคำสั่งได้เสมอ ซึ่งจะให้สิทธิ์การเข้าถึงสคริปต์ผ่านนโยบาย สำหรับสิ่งนั้น:

  1. กด “Windows ” + “อาร์ ” เพื่อเปิดพรอมต์การเรียกใช้
  2. พิมพ์ “Powershell ” และกด “Shift ” + “Ctrl ” + “ป้อน ” พร้อมกันเพื่อให้สิทธิ์การเข้าถึงระดับผู้ดูแลระบบ วิธีการแก้ไขข้อผิดพลาด  รันสคริปต์ถูกปิดใช้งานในระบบนี้  บน Powershell
  3. พิมพ์คำสั่งเพื่อรันสคริปต์เฉพาะเช่นคำสั่งต่อไปนี้
    c:\> powershell -ExecutionPolicy ByPass -File script.ps1
  4. กด “เข้าสู่ ” และ ตรวจสอบ เพื่อดูว่าปัญหายังคงมีอยู่หรือไม่

แนวทางที่ 2:การเปลี่ยนแปลงนโยบายการดำเนินการ

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

  • จำกัด:  โหมดนี้ไม่อนุญาตให้เรียกใช้สคริปต์ใดๆ ในคอมพิวเตอร์
  • ลงนามทั้งหมด:  โดยการเลือกโหมดนี้ เฉพาะนโยบายที่ลงนามโดยผู้เผยแพร่ที่เชื่อถือได้เท่านั้นที่สามารถเรียกใช้บนคอมพิวเตอร์ได้
  • RemoteSigned:  สคริปต์ที่ดาวน์โหลดทั้งหมดต้องลงนามโดยผู้เผยแพร่ที่เชื่อถือได้
  • ไม่จำกัด:  ไม่มีการจำกัดสคริปต์ใดๆ เลย

เมื่อคุณทราบระดับที่สามารถกำหนดนโยบายการดำเนินการได้แล้ว คุณสามารถเลือกระดับที่ดีที่สุดสำหรับคุณได้อย่างง่ายดายขึ้นอยู่กับความต้องการของคุณ เพื่อเปลี่ยนนโยบายการดำเนินการ:

  1. กด “Windows ” + “อาร์ ” เพื่อเปิดพรอมต์การเรียกใช้
  2. พิมพ์ "Powershell" แล้วกด "Shift ” + “Ctrl ” + “ป้อน ” พร้อมกันเพื่อให้สิทธิ์การเข้าถึงระดับผู้ดูแลระบบ วิธีการแก้ไขข้อผิดพลาด  รันสคริปต์ถูกปิดใช้งานในระบบนี้  บน Powershell
  3. พิมพ์คำสั่งต่อไปนี้แล้วกด "Enter" เพื่อดำเนินการ
    Set-ExecutionPolicy Remotesigned

    หมายเหตุ:  คำว่า “RemoteSigned ” จะถูกแทนที่ด้วยระดับความปลอดภัยที่คุณต้องการตามที่ระบุไว้ข้างต้น

  4. กด “Y ” เพื่อระบุว่าใช่และสิ่งนี้จะเปลี่ยนนโยบายกลุ่มเป็นระดับที่ต้องการ วิธีการแก้ไขข้อผิดพลาด  รันสคริปต์ถูกปิดใช้งานในระบบนี้  บน Powershell
  5. ตรวจสอบ เพื่อดูว่าปัญหายังคงมีอยู่หรือไม่