none
Не запускаются скрипты powershell Win7 x64 RRS feed

  • Вопрос

  • Операционная система: Windows 7 64bit (недавно переустановил)

    Версия PowerShell 3.0

    Моя учётная запись единственная в системе имеет права админа

    Понадобилось запустить скрипты powerShell (написанные мною). При запуске скрипта (F5) PowerShell ISE ругается следующим сообщением:

    "Невозможно загрузить файл D:\Test.ps1, так как выполнение сценариев отключено в этой системе. Для получения дополнительных сведений см. about_Execu
    tion_Policies по адресу http://go.microsoft.com/fwlink/?LinkID=135170.
        + CategoryInfo          : Ошибка безопасности: (:) [], ParentContainsErrorRecordException
        + FullyQualifiedErrorId : UnauthorizedAccess"

    Запустил консоль PowerShell (64bit) с правами админа: установил executionpolicy на Unrestricted

    Перезагрузил ПК, в консоли PowerShell проверил политику безопасности (get-executionpolicy), получил ответ: Unrestricted

    Запустил PowerShell ISE, создал новый скрипт, вставил в него код из двух строк, сохранил на диске. Нажал Выполнить (F5) - получил такую же ошибку:

    "Невозможно загрузить файл D:\Test2.ps1, так как выполнение сценариев отключено в этой системе. Для получения дополнительных сведений см. about_Execu
    tion_Policies по адресу http://go.microsoft.com/fwlink/?LinkID=135170.
        + CategoryInfo          : Ошибка безопасности: (:) [], ParentContainsErrorRecordException
        + FullyQualifiedErrorId : UnauthorizedAccess"

    Перезагружался несколько раз уже, устанавливал разные политики - всё без результатно. В чём может быть проблема? Раньше до переустановки Windows всё работало. Версия Ос была такая же, обновления стояли все последние, версия powershell была 2.0 (в ней устанавливалась политика на RemoteSigned) и после этого powershell был обновлён до 3.0. Но по-прежнему скрипты работали без проблем.

    27 ноября 2012 г. 11:10

Ответы

  • Всё проблему решил. Но так и не понял почему она возникла.

    Решение: 

    1) Запустил редактор локальной групповой политики

    2) Зашёл в раздел: Политика "Локальный компьютер"\Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Windows PowerShell\

    3) Параметр "Включить выполнение сценариев" был установлен на "Не задана", поменял на "Включена" (параметры: "Разрешить локальные сценарии..."

    После этого всё заработало.

    • Помечено в качестве ответа MoxFulder 27 ноября 2012 г. 11:29
    27 ноября 2012 г. 11:28
  • Для x32 и x64 следует указываеть дважды Set-ExecutionPolicy.

    1) X64 - $env:windir\system32\WindowsPowerShell\v1.0\powershell.exe

    2) X32 - $env:windir\syswow64\WindowsPowerShell\v1.0\powershell.exe



    • Изменено KazunEditor 27 ноября 2012 г. 11:25
    • Помечено в качестве ответа MoxFulder 28 ноября 2012 г. 5:55
    27 ноября 2012 г. 11:24
    Отвечающий

Все ответы

  • Для x32 и x64 следует указываеть дважды Set-ExecutionPolicy.

    1) X64 - $env:windir\system32\WindowsPowerShell\v1.0\powershell.exe

    2) X32 - $env:windir\syswow64\WindowsPowerShell\v1.0\powershell.exe



    • Изменено KazunEditor 27 ноября 2012 г. 11:25
    • Помечено в качестве ответа MoxFulder 28 ноября 2012 г. 5:55
    27 ноября 2012 г. 11:24
    Отвечающий
  • Всё проблему решил. Но так и не понял почему она возникла.

    Решение: 

    1) Запустил редактор локальной групповой политики

    2) Зашёл в раздел: Политика "Локальный компьютер"\Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Windows PowerShell\

    3) Параметр "Включить выполнение сценариев" был установлен на "Не задана", поменял на "Включена" (параметры: "Разрешить локальные сценарии..."

    После этого всё заработало.

    • Помечено в качестве ответа MoxFulder 27 ноября 2012 г. 11:29
    27 ноября 2012 г. 11:28