วิธีอนุญาตให้เรียกใช้งานสคริปต์ PowerShell ใน Windows 7
เมื่อคุณดาวน์โหลดสคริปต์จากอินเทอร์เน็ตและพยายามเรียกใช้งานถ้าคุณไม่ได้กำหนดค่า PowerShell ไว้ก่อนหน้านี้สคริปต์จะโยนข้อผิดพลาดที่น่ารังเกียจในแบบอักษรสีแดง นี่เพียงพอที่จะทำให้ผู้ใช้ส่วนใหญ่กลัว แต่ก็มีวิธีแก้ไขที่ง่าย.
PowerShell มีโหมดการดำเนินการจำนวนหนึ่งที่กำหนดประเภทของรหัสที่อนุญาตให้เรียกใช้ซึ่งควบคุมโดยรีจิสตรีคีย์ที่อาศัยอยู่ในกลุ่ม HKLM มี 4 โหมดการดำเนินการที่แตกต่างกันคือ:
- ถูก จำกัด: นโยบายการดำเนินการเริ่มต้นไม่ได้เรียกใช้สคริปต์คำสั่งแบบโต้ตอบเท่านั้น.
- ลงนามทั้งหมด: รันสคริปต์; สคริปต์และไฟล์การกำหนดค่าทั้งหมดต้องลงนามโดยผู้เผยแพร่ที่คุณเชื่อถือ เปิดให้คุณเสี่ยงต่อการเรียกใช้สคริปต์ที่ลงนาม (แต่เป็นอันตราย) หลังจากที่ยืนยันว่าคุณเชื่อถือผู้เผยแพร่.
- Remote Signed: สคริปต์ท้องถิ่นทำงานโดยไม่มีลายเซ็น สคริปต์ที่ดาวน์โหลดมาใด ๆ จำเป็นต้องมีลายเซ็นดิจิทัลแม้กระทั่งเส้นทาง UNC.
- ไม่ จำกัด: รันสคริปต์; สคริปต์และไฟล์การกำหนดค่าทั้งหมดที่ดาวน์โหลดจากแอปพลิเคชันการสื่อสารเช่น Microsoft Outlook, Internet Explorer, Outlook Express และ Windows Messenger ทำงานหลังจากยืนยันว่าคุณเข้าใจไฟล์ที่มาจากอินเทอร์เน็ต ไม่ต้องใช้ลายเซ็นดิจิทัล เปิดโอกาสให้คุณเสี่ยงต่อการเรียกใช้สคริปต์ที่เป็นอันตรายและไม่ได้รับการดาวน์โหลดจากแอปพลิเคชันเหล่านี้
นโยบายการดำเนินการเริ่มต้นของ PowerShell เรียกว่าถูก จำกัด ในโหมดนี้ PowerShell ทำงานเป็นเชลล์แบบโต้ตอบเท่านั้น มันไม่ได้เรียกใช้สคริปต์และโหลดเฉพาะไฟล์การตั้งค่าที่ลงนามโดยผู้เผยแพร่ที่คุณเชื่อถือ หากคุณได้รับข้อผิดพลาดสีแดงที่น่ารังเกียจสาเหตุที่เป็นไปได้มากที่สุดคือคุณพยายามเรียกใช้สคริปต์ที่ไม่ได้ลงชื่อ สิ่งที่ปลอดภัยที่สุดที่ต้องทำคือเปลี่ยนนโยบายการดำเนินการเป็นแบบไม่ จำกัด รันสคริปต์ของคุณจากนั้น เปลี่ยนกลับเป็น จำกัด.
หากต้องการเปลี่ยนเป็นไม่ จำกัด ให้รันคำสั่งต่อไปนี้จาก PowerShell สำหรับผู้ดูแลระบบ:
Set-ExecutionPolicy ไม่ จำกัด
คุณจะถูกถามว่าคุณแน่ใจหรือไม่ว่าต้องการเปลี่ยนนโยบายการดำเนินการให้กดปุ่ม Enter อีกครั้ง.
ตอนนี้คุณสามารถเรียกใช้สคริปต์ที่ดาวน์โหลดมาโดยไม่มีปัญหา อย่างไรก็ตามมีความเสี่ยงด้านความปลอดภัยร้ายแรงหากคุณลืมกำหนดนโยบายการดำเนินการกลับสู่โหมด จำกัด คุณอาจเดาได้ว่าจะตั้งกลับเป็น จำกัด แต่ในกรณีที่คุณไม่:
Set-ExecutionPolicy ถูก จำกัด
อีกครั้งคุณจะถูกถามว่าคุณแน่ใจหรือไม่ว่าต้องการเปลี่ยนโหมดการดำเนินการไปข้างหน้าและกด Enter.