ตามค่าเริ่มต้น PowerShell จะ จำกัด การเรียกใช้สคริปต์บนพีซีของผู้ใช้ปลายทาง การตั้งค่านี้ดีจากมุมมองด้านความปลอดภัย อย่างไรก็ตามหากคุณใช้สคริปต์จำนวนมากที่คุณดาวน์โหลดหรือเข้ารหัสด้วยตัวเองอาจเป็นเรื่องที่น่ารำคาญมาก ในบทความนี้เราจะทบทวนวิธีการเปลี่ยนนโยบายการดำเนินการเริ่มต้นสำหรับสคริปต์ PowerShell ใน Windows 10
การโฆษณา
Windows PowerShell มีนโยบายการดำเนินการที่แตกต่างกันสี่แบบ:
- ถูก จำกัด - ไม่สามารถเรียกใช้สคริปต์ได้ Windows PowerShell สามารถใช้ได้เฉพาะในโหมดโต้ตอบเท่านั้น
- AllSigned - สามารถเรียกใช้สคริปต์ที่ลงนามโดยผู้เผยแพร่ที่เชื่อถือได้เท่านั้น
- RemoteSigned - สคริปต์ที่ดาวน์โหลดจะต้องลงนามโดยผู้เผยแพร่ที่เชื่อถือได้ก่อนจึงจะสามารถรันได้
- ไม่ จำกัด - ไม่มีข้อ จำกัด ; สามารถรันสคริปต์ Windows PowerShell ทั้งหมดได้
- ไม่ได้กำหนด - ไม่มีการกำหนดนโยบายการดำเนินการ
หากไม่ได้ตั้งค่านโยบายการดำเนินการและไม่ได้กำหนดค่าจะแสดงเป็น 'ไม่ได้กำหนด' นี่คือวิธีดูค่าปัจจุบัน
วิธีดูนโยบายการดำเนินการ PowerShell
- เปิด PowerShell .
- พิมพ์หรือคัดลอกวางคำสั่งต่อไปนี้แล้วกดปุ่ม Enter:
รับ ExecutionPolicy -List
คำสั่งจะแสดงนโยบายการดำเนินการทั้งหมด ดังที่คุณเห็นมีหลายขอบเขตที่สามารถกำหนดนโยบายการดำเนินการได้ สามารถตั้งค่าได้ทั่วโลกสำหรับผู้ใช้ทั้งหมดสำหรับผู้ใช้ปัจจุบันเท่านั้นหรือสำหรับกระบวนการปัจจุบัน นโยบายกระบวนการปัจจุบันมีลำดับความสำคัญเหนือการตั้งค่าของผู้ใช้ปัจจุบัน นโยบายผู้ใช้ปัจจุบันแทนที่ตัวเลือกส่วนกลาง จำสิ่งนี้ไว้ ตอนนี้เรามาดูวิธีการเปลี่ยนนโยบายการดำเนินการสคริปต์สำหรับ PowerShell
เปลี่ยนนโยบายการดำเนินการ PowerShell สำหรับกระบวนการ
- เปิดไฟล์ พร้อมรับคำสั่ง หรือ PowerShell
- เปิดไฟล์ powershell.exe ด้วยอาร์กิวเมนต์ -ExecutionPolicy Unrestricted ตัวอย่างเช่น,
Powershell.exe -ExecutionPolicy ไม่ จำกัด - ไฟล์ c: data test.ps1
สิ่งนี้จะเริ่มสคริปต์ของคุณโดยใช้นโยบายการดำเนินการที่ไม่ จำกัด แทนที่จะเป็นสคริปต์คุณสามารถเริ่ม cmdlet หรือสิ่งที่คุณต้องการได้ แทนที่จะเป็น 'ไม่ จำกัด ' คุณสามารถใช้นโยบายอื่น ๆ ที่กล่าวถึงข้างต้นได้
เคล็ดลับ: สำหรับคอนโซล PowerShell แบบเปิดคุณสามารถสลับนโยบายการดำเนินการโดยใช้คำสั่ง:
Set-ExecutionPolicy Unrestricted -Scope Process
จะยังคงใช้งานได้จนกว่าคุณจะปิดหน้าต่าง PowerShell ปัจจุบัน
เปลี่ยนนโยบายการดำเนินการ PowerShell สำหรับผู้ใช้ปัจจุบัน
- เปิด PowerShell
- พิมพ์หรือคัดลอกวางคำสั่งต่อไปนี้แล้วกดปุ่ม Enter:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
เคล็ดลับ: หากไม่ได้ตั้งค่านโยบายหลังจากคำสั่งด้านบนให้ลองรวมเข้ากับอาร์กิวเมนต์ -Force ดังนี้:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
เมื่อนโยบายการดำเนินการถูกตั้งค่าสำหรับผู้ใช้ปัจจุบันนโยบายจะลบล้างขอบเขต 'LocalMachine' อีกครั้งสำหรับกระบวนการคุณสามารถแทนที่สำหรับอินสแตนซ์ PowerShell ปัจจุบันตามที่อธิบายไว้ข้างต้น
เปลี่ยนนโยบายการดำเนินการ PowerShell ทั่วโลก
นโยบายการดำเนินการนี้ใช้กับคอมพิวเตอร์ซึ่งหมายความว่ามีผลบังคับใช้กับบัญชีผู้ใช้ที่ไม่มีนโยบายการดำเนินการทีละรายการ ด้วยการตั้งค่าเริ่มต้นจะใช้กับบัญชีผู้ใช้ทั้งหมด
ในการเปลี่ยนนโยบาย PowerShell Execution ใน Windows 10 ให้ดำเนินการดังต่อไปนี้
- เปิด PowerShell ในฐานะผู้ดูแลระบบ .
- ดำเนินการคำสั่งต่อไปนี้:
Set-ExecutionPolicy Unrestricted -Scope LocalMachine
คุณทำเสร็จแล้ว
เปลี่ยนนโยบาย PowerShell Execution ด้วย Registry tweak
เป็นไปได้ที่จะเปลี่ยนนโยบายการดำเนินการด้วย Registry tweak สำหรับทั้งผู้ใช้ปัจจุบันและคอมพิวเตอร์ นี่คือวิธีที่สามารถทำได้
- เปิด ตัวแก้ไขรีจิสทรี .
- หากต้องการเปลี่ยนนโยบายการดำเนินการสำหรับผู้ใช้ปัจจุบันให้ไปที่
HKEY_CURRENT_USER SOFTWARE Microsoft PowerShell 1 ShellIds Microsoft.PowerShell
- ตั้งค่าสตริง ExecutionPolicy เป็นหนึ่งในค่าต่อไปนี้: Restricted, AllSigned, RemoteSigned, Unrestricted, Undefined
- หากต้องการเปลี่ยนนโยบายการดำเนินการสำหรับขอบเขต LocalMachine ให้ไปที่
HKEY_LOCAL_MACHINE SOFTWARE Microsoft PowerShell 1 ShellIds Microsoft.PowerShell
- ตั้งค่าสตริง ExecutionPolicy เป็นหนึ่งในค่าต่อไปนี้: Restricted, AllSigned, RemoteSigned, Unrestricted, Undefined
เคล็ดลับ: ดูวิธีไปที่คีย์รีจิสทรี ด้วยคลิกเดียว . นอกจากนี้คุณสามารถ สลับระหว่าง HKCU และ HKLM ใน Registry Editor ของ Windows 10 ได้อย่างรวดเร็ว .
วิธีทำให้ Steam ดาวน์โหลดเร็วขึ้น 2018
แค่นั้นแหละ.