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

นี่เป็นมาตรการรักษาความปลอดภัยใน PowerShell เพื่อป้องกันไม่ให้สคริปต์ที่เป็นอันตรายทำงานและอาจเป็นอันตรายต่อระบบ แน่นอน สคริปต์ที่คุณเขียนเองจะไม่เป็นอันตรายและควรจะทำงานได้ ในการแก้ไขปัญหานี้ คุณต้องเปลี่ยนนโยบายการดำเนินการใน PowerShell นี่คือวิธีการ
แก้ไขสคริปต์ทำงานถูกปิดใช้งานบนระบบนี้
เปิด PowerShell ด้วยสิทธิ์ของผู้ดูแลระบบ และเรียกใช้คำสั่งต่อไปนี้
รับการดำเนินการนโยบาย -List
นี่จะแสดงนโยบายการดำเนินการที่กำหนดไว้สำหรับผู้ใช้ของคุณและสำหรับเครื่องของคุณ มีแนวโน้มว่านโยบาย CurrentUser ทั้งสองอย่างหรืออย่างน้อยที่สุดจะถูกตั้งค่าเป็นจำกัด
![วิธีแก้ไข “เรียกใช้สคริปต์ถูกปิดใช้งานบนระบบนี้” ใน PowerShell บน Windows 10 วิธีแก้ไข “เรียกใช้สคริปต์ถูกปิดใช้งานบนระบบนี้” ใน PowerShell บน Windows 10]()
ในการแก้ไขข้อผิดพลาด "เรียกใช้สคริปต์ถูกปิดใช้งานในระบบนี้" คุณต้องเปลี่ยนนโยบายสำหรับ CurrentUser โดยเรียกใช้คำสั่งต่อไปนี้
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
ยืนยันว่าคุณต้องการทำการเปลี่ยนแปลง และคุณจะสามารถเรียกใช้สคริปต์ได้
![วิธีแก้ไข “เรียกใช้สคริปต์ถูกปิดใช้งานบนระบบนี้” ใน PowerShell บน Windows 10 วิธีแก้ไข “เรียกใช้สคริปต์ถูกปิดใช้งานบนระบบนี้” ใน PowerShell บน Windows 10]()
สิ่งนี้จะช่วยให้คุณสามารถเรียกใช้สคริปต์ส่วนใหญ่ได้ อย่างไรก็ตาม หากคุณยังคงได้รับข้อผิดพลาดเดิม คุณอาจต้องเปลี่ยนนโยบายการดำเนินการสำหรับเครื่อง คุณสามารถแก้ไขคำสั่งก่อนหน้านี้ได้ แต่คุณจะต้องมีสิทธิ์ของผู้ดูแลระบบเพื่อทำสิ่งนี้
เรียกใช้คำสั่งนี้
Set-ExecutionPolicy RemoteSigned -Scope LocalMachine
ยืนยันว่าคุณต้องการทำการเปลี่ยนแปลง จากนั้นลองเรียกใช้สคริปต์
วิธีนี้จะช่วยคุณได้หากคุณเป็นคนเขียนสคริปต์เอง แต่ถ้าคุณดาวน์โหลดแบบออนไลน์และไม่ได้ลงชื่อ คุณต้องเปลี่ยนนโยบายการดำเนินการเป็นไม่จำกัด ในการทำเช่นนั้น ให้แทนที่ “RemoteSigned” ในคำสั่งด้านบนทั้งหมดด้วย “Unrestricted” ระวังให้มากว่าสคริปต์ใดที่คุณเรียกใช้หากคุณกำลังดาวน์โหลด พวกเขาสามารถเป็นอันตราย
Set-ExecutionPolicy
นี้เป็นคำสั่งที่ค่อนข้างง่ายสำหรับการตั้งค่านโยบายการดำเนินการใน PowerShell คำสั่งนี้สามารถมีพารามิเตอร์หรือสถานะที่แตกต่างกันสี่ตัว: จำกัด, AllSigned, RemoteSigned และไม่จำกัด
สวิตช์ -Scope กำหนดว่าจะใช้การเปลี่ยนแปลงนโยบายอะไร เมื่อคุณป้อน “CurrentUser” จะถูกนำไปใช้กับผู้ใช้ปัจจุบันเท่านั้น และเมื่อคุณป้อน “LocalMachine” จะถูกนำไปใช้กับทั้งระบบ