PowerShell: Запустить скрипт из ярлыка

Раньше я запускал консоль PowerShell с правами Админа и уже оттуда запускал подписанный скрипт, который мне открывал необходимые оснастки (уже с правами админа).
Совсем недавно я узнал, что неподписанный скрипт все же можно без особых проблем запустить, но сейчас не про это…
Решив еще больше оптимизировать свою работу, я создал ярлык, который сразу запускал выполнение скрипта, т.е. не нужно было для этого сначала открывать консоль PS и оттуда выполнять скрипт:

При запуске ярлыка я получил такую ошибку:

& : File C:\Program Files (x86)\MyScripts\TestScript.ps1 cannot be loaded because its operation is blocked by software res
triction policies, such as those created by using Group Policy.
At line:1 char:3
+ & 'C:\Program Files (x86)\MyScripts\TestScript.ps1'
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

При этом цифровая подпись у скрипта была, и, если бы я запускал скрипт напрямую из PowerShell, то ошибки бы не было!

Возможным вариантом могли быть политики SRP. Для решения проблемы можно было добавить для ЭТОГО скрипта правило «Unrestricted».
PowerShell: Запустить скрипт из ярлыка

Либо можно было создать ярлык с использованием параметра -ExecutionPolicy Bypass:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -command "& 'C:\Program Files (x86)\MyScripts\TestScript.ps1'"


Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments