PowerShell FAQ |
![]() |
Добавил(а) microsin |
Иногда приходится решать насущные проблемы с помощью скриптов автоматизации Windows. Это может быть перекодировка текста, переименование файлов, генерация модулей кода и т. п. Здесь решил записывать как памятку разные вопросы, с которыми сталкивался при написании скриптов. Невозможно загрузить файл c:\scripts\MyScript.ps1, так как выполнение сценариев отключено в этой системе. Для получения дополнительных сведений см. about_Execution_Policies по адресу https:/go.microsoft.com/fwlink/?LinkID=135170. + CategoryInfo : Ошибка безопасности: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : UnauthorizedAccess File c:\scripts\MyScript.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170. + CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess Сообщение говорит о том, что не хватает прав для запуска скрипта - работает текущая политика безопасности PowerShell. Существуют следующие уровни настройки безопасности: AllSigned, Bypass, Default, RemoteSigned, Restricted, Undefined, Unrestricted. Самое распространенное состояние политики, когда появляется такая ошибка - Restricted. Чтобы разрешить запуск скриптов, нужно назначить политику Unrestricted, для этого запустите команду с правами администратора: powershell Set-ExecutionPolicy Unrestricted
Чтобы узнать текущее состояние политики, запустите следующую команду: powershell Get-ExecutionPolicy
1. Создайте в текстовом редакторе файл скрипта с расширением *.ps1, например файл hw.ps1 с таким содержимым: Write-Output "Привет, мир!" 2. Запустите скрипт командной строкой: powershell -file hw.ps1
param ($var1, $var2, $var3) echo $var1, $var2, $var3 Существует бесплатная среда разработки скриптов PowerShell от Microsoft: Windows PowerShell ISE. [Ссылки] 1. Настройка политики запуска скриптов (Execution Policy) PowerShell site:winitpro.ru. |