ในWindows 11 (หรือ 10) ตามค่าเริ่มต้น เมื่อคุณพยายามเรียกใช้สคริปต์บน PowerShell สคริปต์จะล้มเหลวโดยที่ข้อความแสดงข้อผิดพลาด"ไม่สามารถโหลดได้เนื่องจากสคริปต์การเรียกใช้ถูกปิดใช้งานในระบบนี้" ทั้งนี้เนื่องจาก PowerShell มาพร้อมกับคุณลักษณะการรักษาความปลอดภัย "นโยบายการดำเนินการ" ที่ควบคุมวิธีการโหลดไฟล์การกำหนดค่าและเรียกใช้สคริปต์เพื่อป้องกันไม่ให้โค้ดที่เป็นอันตรายทำงานบนระบบ
หากคุณต้องเรียกใช้สคริปต์บน Windows 11 (หรือ 10) คุณสามารถเปลี่ยนนโยบายการดำเนินการสำหรับคอมพิวเตอร์ในระบบ ผู้ใช้ปัจจุบัน หรือเซสชันได้
เมื่อคุณตั้งค่านโยบายการดำเนินการของ PowerShell สำหรับคอมพิวเตอร์ท้องถิ่นและผู้ใช้ปัจจุบัน ข้อมูลจะถูกเก็บไว้ในรีจิสทรี หากคุณตั้งค่านโยบายสำหรับเซสชันใดเซสชันหนึ่ง นโยบายจะถูกเก็บไว้ในหน่วยความจำและจะหายไปเมื่อคุณปิดเซสชัน
ตามMicrosoftนโยบายการดำเนินการไม่ได้จำกัดการดำเนินการ คุณสามารถข้ามนโยบายได้เสมอโดยพิมพ์สคริปต์ในอินเทอร์เฟซบรรทัดคำสั่ง (CLI) นโยบายการดำเ���ินการได้รับการออกแบบมาเพื่อช่วยให้ผู้ใช้ป้องกันการเรียกใช้สคริปต์ที่เป็นอันตราย
คู่มือนี้จะสอนวิธีเปลี่ยนนโยบายการดำเนินการเพื่อเรียกใช้สคริปต์บน PowerShell บน Windows 11 หรือ 10 ได้สำเร็จ
เปลี่ยนนโยบายการดำเนินการใน PowerShell
หากต้องการเปลี่ยนนโยบายการดำเนินการบน PowerShell เพื่อเรียกใช้สคริปต์บน Windows 11 (หรือ 10) ได้สำเร็จ ให้ใช้ขั้นตอนเหล่านี้:
-
เปิดเริ่มต้น
-
ค้นหาPowerShellคลิกขวาที่ผลลัพธ์ด้านบน แล้วเลือกตัวเลือกRun as administrator
-
พิมพ์คำสั่งต่อไปนี้เพื่อยืนยันนโยบายการดำเนินการปัจจุบันและกดEnter :
รับการดำเนินการนโยบาย
-
(ไม่บังคับ) พิมพ์คำสั่งต่อไปนี้เพื่อดูนโยบายการดำเนินการ PowerShell ที่มีผล และกดEnter :
รับการดำเนินการนโยบาย -List
-
พิมพ์คำสั่งต่อไปนี้เพื่อให้สคริปต์ทำงานและกดEnter :
Set-ExecutionPolicy RemoteSigned
-
(ไม่บังคับ) พิมพ์คำสั่งต่อไปนี้เพื่อป้องกันไม่ให้สคริปต์ทำงานและกดEnter :
จำกัดนโยบายการดำเนินการตั้งค่า

เมื่อคุณทำตามขั้นตอนเสร็จแล้ว คุณสามารถรันสคริปต์ได้อีกครั้ง และตอนนี้ควรจะทำงานสำเร็จบน Windows 11 หากคุณไม่ต้องการให้สคริปต์ทำงานบนคอมพิวเตอร์ของคุณอีกต่อไป คุณสามารถเรียกใช้คำสั่งเสริมที่กล่าวถึงในขั้นตอน
หากคุณต้องการเปลี่ยนนโยบายการดำเนินการเพื่อเรียกใช้สคริปต์สำหรับผู้ใช้ปัจจุบันหรือคอมพิวเตอร์ท้องถิ่น คุณต้องใช้ตัวเลือก "ขอบเขต" ดังนี้: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserหรือSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine.
ใน Windows 11 คุณสามารถเลือกนโยบายการดำเนินการได้สี่แบบเพื่ออนุญาตหรือปฏิเสธสคริปต์:
- จำกัด —บล็อกสคริปต์ไม่ให้ทำงาน
- RemoteSigned —อนุญาตให้สร้างสคริปต์บนคอมพิวเตอร์ อย่างไรก็ตาม สคริปต์ที่สร้างในอุปกรณ์อื่นจะไม่ทำงานเว้นแต่จะมีลายเซ็นที่เชื่อถือได้
- AllSigned —อนุญาตให้สคริปต์ทั้งหมดทำงาน อย่างไรก็ตาม เฉพาะในกรณีที่ผู้เผยแพร่ที่เชื่อถือได้ได้รวมลายเซ็นไว้
- ไม่จำกัด —รันสคริปต์ใด ๆ โดยไม่มีข้อจำกัด
คุณไม่จำเป็นต้องเปลี่ยนนโยบายการดำเนินการ หากคุณต้องการเรียกใช้สคริปต์ที่ไม่มีพารามิเตอร์ที่จำเป็นและไม่ส่งคืนเอาต์พุต คุณสามารถใช้PowerShell.exe -File "FILENAME" -ExecutionPolicyคำสั่ง Bypass เพื่อข้ามข้อจำกัดได้