PowerShell: การเขียนสคริปต์ถูกปิดใช้งานบนระบบนี้

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

สคริปต์เป็นโปรแกรมที่ง่ายเขียนในรหัสที่วิ่งเป็นเส้นตรงในคอมพิวเตอร์ของเรา เราสามารถสร้างและเรียกใช้สคริปต์ของเราเองเพื่อทำให้งานอัตโนมัติหรือแอปพลิเคชันสามารถเรียกใช้งานเพื่อดำเนินการกำหนดค่าและงานเฉพาะได้ ตามค่าเริ่มต้น Windows 10 จะไม่ป้องกันไม่ให้แอปหรือเราเรียกใช้สคริปต์ในระบบหากมีการลงชื่อหรือ "เนทีฟ" ปัญหาเกิดขึ้นเมื่อเราเรียกใช้สคริปต์ของเราและเราได้รับข้อผิดพลาด " Scripting is disabled on this system ." นี่คือมาตรการรักษาความปลอดภัยหลายชั้นใน PowerShell ที่ป้องกันไม่ให้สคริปต์ที่เป็นอันตรายทำงานและอาจเป็นอันตรายต่อระบบของคุณ ลองมาดูที่วิธีการเปลี่ยนแปลงนโยบายการรักษาความปลอดภัย PowerShell

นโยบายการดำเนินการสคริปต์ PowerShell

หากคุณเห็นข้อผิดพลาด " Scripting is disabled on this system " เราสามารถตรวจสอบการกำหนดค่านโยบายเพื่อเรียกใช้สคริปต์ที่กำหนดค่าไว้ใน Windows 10 เปิด PowerShell ในฐานะผู้ดูแลระบบและ:

  • Get-ExecutionPolicy -List

เราสามารถเห็นการอนุญาตตามนโยบายหลายระดับในการเรียกใช้สคริปต์

การกำหนดค่านโยบาย Powershell

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

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

เมื่อคุณทราบเงื่อนไขและข้อ จำกัด ของสคริปต์แล้วคุณสามารถเปลี่ยนแปลงได้ ตัวอย่างเช่นในการแก้ไขข้อผิดพลาด " Scripting is disabled on this system " คุณต้องป้อนแอพเพล็ตเพียงหนึ่ง เปิด PowerShell ในฐานะผู้ดูแลระบบและ:

  • Set-ExecutionPolicy Unrestricted -Scope CurrentUser - เปิดตัวโดยไม่มีข้อ จำกัด สำหรับผู้ใช้
  • Set-ExecutionPolicyRestricted -Scope CurrentUser กลับมาหากจำเป็น

อนุญาตให้เขียนสคริปต์ได้ไม่ จำกัด สำหรับผู้ใช้ภายในเครื่อง สวิตช์ -Scopeกำหนดสิ่งที่เปลี่ยนแปลงนโยบายนำไปใช้กับ เมื่อคุณป้อน " CurrentUser " จะมีผลกับผู้ใช้ปัจจุบันเท่านั้นและเมื่อคุณป้อน " LocalMachine " จะมีผลกับทั้งระบบ

อนุญาตให้เขียนสคริปต์ได้ไม่ จำกัด สำหรับผู้ใช้ภายในเครื่อง

หากวิธีการข้างต้นไม่สามารถช่วยคุณเริ่มสคริปต์ของคุณได้และข้อผิดพลาด " Scripting is disabled in this system"ปรากฏขึ้นคุณสามารถลบข้อ จำกัด ได้ทั้งหมด คุณควรเข้าใจว่านี่เป็นความเสี่ยงที่ยิ่งใหญ่และสคริปต์ของคุณควรปลอดภัย 101% เปิด PowerShell ในฐานะผู้ดูแลระบบและ:

  • Set-ExecutionPolicy Unrestricted - อนุญาตให้เรียกใช้สคริปต์โดยไม่มีข้อ จำกัด
  • Set-ExecutionPolicy Restricted- กลับสู่ค่าเริ่มต้น

อนุญาตให้เรียกใช้สคริปต์โดยไม่มีข้อ จำกัด