ข้อผิดพลาดนี้เกิดขึ้นเมื่อผู้ใช้พยายามเรียกใช้สคริปต์หรือคำสั่งเฉพาะใน PowerShell โดยเป็นส่วนหนึ่งของงานหรือเพื่อแก้ไขปัญหาที่รบกวนพวกเขาในพีซี การทำงานของสคริปต์มักถูกปิดใช้งานโดยค่าเริ่มต้นในระบบของผู้ใช้ และจำเป็นต้องปรับเปลี่ยนตัวเลือกนี้เพื่อให้สามารถดำเนินการได้
มีสาเหตุอื่นๆ ของปัญหานี้เช่นกัน และนั่นคือเหตุผลที่เรานำเสนอบทความที่จะช่วยคุณแก้ปัญหานี้ได้ หากคุณปฏิบัติตามวิธีการอย่างระมัดระวัง ขอให้โชคดี!
ข้อผิดพลาด "การเรียกใช้สคริปต์ถูกปิดใช้งานบนระบบนี้" เกิดจากอะไร
สาเหตุของปัญหานี้มีไม่มากนัก และมักแตกต่างกันไปในแต่ละระบบ ยังคงสามารถแสดงรายการได้อย่างง่ายดาย และคุณควรดูว่าปัญหาของคุณสามารถจัดประเภทเป็นตัวเลือกด้านล่างหรือไม่:
- บางครั้งการเรียกใช้สคริปต์ถูกปิดใช้งานโดยค่าเริ่มต้นในระบบของผู้ใช้ และจำเป็นต้องเปิดใช้งานด้วยตนเองโดยใช้วิธีการต่างๆ เช่น การเรียกใช้คำสั่งใน PowerShell หรือการปรับแต่งรีจิสทรี
- ถ้าการดำเนินการถูกปิดใช้งานในขอบเขตที่สูงกว่า คุณอาจต้องเปิดใช้งานโดยใช้ Local Group Policy Editor (GPEdit) มีตัวเลือกให้ทำในการตั้งค่า Windows 10 ด้วย
- คุณอาจต้องการแจ้งปัญหาผู้ดูแลระบบให้กับ PowerShell เมื่อเรียกใช้คำสั่ง
โซลูชันที่ 1:เรียกใช้ PowerShell ในฐานะผู้ดูแลระบบและเรียกใช้คำสั่ง
มีคำสั่งใน PowerShell ซึ่งเกี่ยวข้องกับปัญหานี้อย่างแน่นอน และสามารถแก้ไขได้ภายในไม่กี่นาที ซึ่งรวมถึงการเปลี่ยนนโยบายการเรียกใช้สคริปต์จากภายในหน้าต่าง PowerShell ลองใช้และดูด้วยตัวคุณเอง!
- เปิดยูทิลิตี้ PowerShell โดยคลิกขวาที่ปุ่มเมนูเริ่ม แล้วคลิกตัวเลือก Windows PowerShell (ผู้ดูแลระบบ) ที่เมนูบริบท ผู้ใช้ Windows 7 ก็ค้นหาได้
- หากคุณเห็น Command Prompt แทน PowerShell ที่จุดนั้น คุณสามารถค้นหาในเมนู Start หรือแถบค้นหาที่อยู่ติดกันได้ คราวนี้ อย่าลืมคลิกขวาที่ผลลัพธ์แรกและเลือก Run as administrator
- ในคอนโซล Powershell ให้พิมพ์คำสั่งที่แสดงด้านล่างและตรวจสอบให้แน่ใจว่าคุณคลิก Enter ในภายหลัง:
Set-ExecutionPolicy RemoteSigned
- ปล่อยให้คำสั่งนี้ทำหน้าที่ของมันและตรวจดูว่ามีข้อความปรากฏขึ้นเพื่อบ่งชี้ว่ากระบวนการนี้สำเร็จจริงหรือไม่ วิธีนี้ใช้ได้กับระบบปฏิบัติการ Windows ทั้งหมด รวมถึง Windows 10
แนวทางที่ 2:แก้ไขนโยบายกลุ่ม
หากวิธีการข้างต้นไม่ประสบความสำเร็จ ซึ่งมักปรากฏใน Windows เวอร์ชันใหม่กว่า เช่น Windows 10 คุณอาจต้องเปลี่ยนนโยบายในขอบเขตที่สูงขึ้น นี่เป็นข้อความแสดงข้อผิดพลาดปกติซึ่งปรากฏขึ้นหลังจากรันคำสั่งจากโซลูชันที่ 1:
Set-ExecutionPolicy: Windows PowerShell updated your execution policy successfully, but the setting is overridden by a policy defined at a more specific scope. Due to the override, your shell will retain its current effective execution policy of...
ในการแก้ปัญหา คุณควรตรงไปที่ตัวแก้ไขนโยบายกลุ่มและเปลี่ยนการตั้งค่าจากที่นั่นทันที
- ใช้คีย์ผสมของคีย์ Windows + R (แตะคีย์พร้อมกัน) เพื่อเปิดกล่องโต้ตอบเรียกใช้ ป้อน "gpedit.msc" ในกล่องโต้ตอบ Run และกดปุ่ม OK เพื่อเปิดเครื่องมือ Local Group Policy Editor ใน Windows 10 คุณสามารถลองพิมพ์ Group Policy Editor ในเมนู Start แล้วคลิกผลลัพธ์ด้านบน
- ในบานหน้าต่างนำทางด้านซ้ายของ Local Group Policy Editor ภายใต้ Computer Configuration ให้ดับเบิลคลิกที่ Administrative Templates และไปที่ Windows Components>> Windows Powershell Section
- เลือกโฟลเดอร์ Windows Powershell โดยดับเบิลคลิกและตรวจดูส่วนด้านขวาของโฟลเดอร์
- ดับเบิลคลิกที่ตัวเลือกนโยบาย "เปิดการดำเนินการสคริปต์" ทำเครื่องหมายที่ปุ่มตัวเลือกถัดจากตัวเลือก "เปิดใช้งาน" ภายใต้เมนูนโยบายการดำเนินการ เลือก อนุญาตสคริปต์ทั้งหมด ใช้การเปลี่ยนแปลงที่คุณได้ทำไว้ก่อนที่จะออก การเปลี่ยนแปลงจะไม่มีผลจนกว่าคุณจะรีสตาร์ท
- สุดท้าย รีบูตเครื่องคอมพิวเตอร์เพื่อบันทึกการเปลี่ยนแปลงและตรวจดูว่าคุณยังตกเป็นเป้าหมายของข้อผิดพลาดหรือไม่
โซลูชันที่ 3:เปลี่ยนในการตั้งค่า Windows 10
ผู้ใช้ Windows 10 ยังเปลี่ยนการตั้งค่าสคริปต์ได้ในแอปการตั้งค่า Windows 10 ในส่วน "สำหรับนักพัฒนา" โดยทั่วไป นี่คือที่ที่คุณควรมุ่งหน้าหากขั้นตอนข้างต้นล้มเหลวในการสร้างผลลัพธ์ที่มีคุณภาพเพื่อแก้ไขปัญหา โปรดทราบว่าใช้ได้เฉพาะกับผู้ใช้ที่ใช้ Windows 10
- ใช้คีย์ผสมของ Windows Key + I เพื่อเปิดการตั้งค่าบนพีซี Windows 10 ของคุณ หรือคุณสามารถค้นหา "การตั้งค่า" โดยใช้แถบค้นหาที่อยู่บนทาสก์บาร์หรือคลิกไอคอนฟันเฟืองด้านบนปุ่มเมนูเริ่มหลังจากที่เปิดขึ้นมา
- ค้นหาและเปิดรายการย่อย “อัปเดตและความปลอดภัย” ในแอปการตั้งค่าโดยคลิกเพียงครั้งเดียว
- ไปที่แท็บ สำหรับนักพัฒนา และตรวจสอบในส่วน Powershell สำหรับตัวเลือกที่เรียกว่า “เปลี่ยนนโยบายการดำเนินการเพื่ออนุญาตให้สคริปต์ PowerShell ในเครื่องทำงานโดยไม่ต้องลงชื่อ ต้องลงชื่อสำหรับสคริปต์ระยะไกล”
- คลิกช่องทำเครื่องหมายที่อยู่ติดกับช่องเพื่อเปิดใช้งานและคลิกปุ่มใช้ที่ด้านล่าง
- รีสตาร์ทคอมพิวเตอร์ทันทีและลองเรียกใช้สคริปต์ใน PowerShell เพื่อดูว่าข้อผิดพลาด “การดำเนินการสคริปต์ถูกปิดใช้งานในระบบนี้” ยังคงปรากฏขึ้นหรือไม่
โซลูชันที่ 4:แก้ไขวิธีการโดยใช้รีจิสทรี
หากวิธีการข้างต้นไม่สามารถแก้ปัญหาของคุณได้ สิ่งเดียวที่ต้องทำคือตรงไปที่รีจิสทรีและเปลี่ยนการตั้งค่าด้วยตนเองที่ขอบเขตสูงสุด วิธีนี้ค่อนข้างตรงไปตรงมา แต่คุณควรระมัดระวังในการแก้ไขรีจิสทรีเพื่อให้แน่ใจว่าไม่มีอะไรผิดพลาด
- เปิดหน้าต่าง Registry Editor โดยพิมพ์ “regedit” ในแถบค้นหา เมนู Start หรือกล่องโต้ตอบ Run ซึ่งสามารถเข้าถึงได้ด้วยคีย์ผสมของ Windows Key + R ไปที่คีย์ต่อไปนี้ในรีจิสทรีของคุณโดยไปที่บานหน้าต่างด้านซ้าย:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
- คลิกที่คีย์นี้และพยายามค้นหารายการสตริงที่เรียกว่า ExecutionPolicy ที่ด้านขวาของหน้าต่าง หากมีตัวเลือกดังกล่าว ให้คลิกขวาที่ตัวเลือกนั้น แล้วเลือกตัวเลือก Modify จากเมนูบริบท
- ในหน้าต่างแก้ไข ในส่วนข้อมูลค่า ให้เปลี่ยนค่าเป็น Unrestricted หรือ RemoteSigned และใช้การเปลี่ยนแปลงที่คุณได้ทำไว้ ยืนยันกล่องโต้ตอบความปลอดภัยที่อาจปรากฏขึ้นในระหว่างกระบวนการนี้
- ขณะนี้ คุณสามารถรีสตาร์ทคอมพิวเตอร์ด้วยตนเองได้โดยคลิกเมนูเริ่ม>> ปุ่มเปิด/ปิด>> รีสตาร์ท แล้วตรวจดูว่าปัญหาหายไปหรือไม่