Мені вдалося обійти цю помилку, посилаючись на 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%