ฉันสามารถข้ามข้อผิดพลาดนี้ได้โดยเรียกใช้ PowerShell ดังนี้:
powershell -executionpolicy bypass -File .\MYSCRIPT.ps1
นั่นคือฉันเพิ่ม-executionpolicy bypass
วิธีที่ฉันเรียกใช้สคริปต์
สิ่งนี้ใช้ได้กับ Windows 7 Service Pack 1 ฉันยังใหม่กับ PowerShell ดังนั้นจึงอาจมีข้อควรระวังในการทำสิ่งที่ฉันไม่รู้
[แก้ไข 2017-06-26] ฉันยังคงใช้เทคนิคนี้ในระบบอื่น ๆ รวมถึง Windows 10 และ Windows 2012 R2 โดยไม่มีปัญหา
นี่คือสิ่งที่ฉันใช้ตอนนี้ สิ่งนี้ป้องกันไม่ให้ฉันเรียกใช้สคริปต์โดยไม่ได้ตั้งใจโดยคลิกที่มัน เมื่อฉันเรียกใช้ในตัวกำหนดตารางเวลาฉันจะเพิ่มอาร์กิวเมนต์หนึ่งรายการ: "ตัวกำหนดตารางเวลา" และข้ามพรอมต์
นอกจากนี้ยังหยุดหน้าต่างในตอนท้ายเพื่อให้ฉันเห็นผลลัพธ์ของ PowerShell
if NOT "%1" == "scheduler" (
@echo looks like you started the script by clicking on it.
@echo press space to continue or control C to exit.
pause
)
C:
cd \Scripts
powershell -executionpolicy bypass -File .\rundps.ps1
set psexitcode=%errorlevel%
if NOT "%1" == "scheduler" (
@echo Powershell finished. Press space to exit.
pause
)
exit /b %psexitcode%