none
Не выполняется подписанный powershell скрипт RRS feed

  • Вопрос


  • Ситуация следующая:
    Есть скрипт, который я подписал с помощью этой статьи.
    Есть сертификат, соответственно.
    Нужно: распространить скрипт на все машины в домене.
    Создал 2 политики на сервере (win2003) одну на компы - сертификат в Trusted Root Certification Authorities запихал
    втрую политику - на юзеров в Logon Script собственно сам скрипт.

    Сейчас сертификат на комп заливается (Проверял через консоль - лежит на компе)
    Но скрипт все равно не запускается, пробовал запустить руками, говорит
    Не удается загрузить файл ... так как выполнение скриптов запрещено для данной системы. Введите "get-help about_signing" для получения дополнительных сведений.At line:0 char:0


    Не могу понять в чем причина. В свойсвах скрипта видно, что подписан - указывается что сертификат действителен.
    Где может быть ошибка?
    • Изменено LeganSV 4 декабря 2012 г. 11:55
    4 декабря 2012 г. 11:53

Ответы

  • А какой смысл этой затеи без CA? Проще выставить политику RemoteSigned и обойтись без подписи скриптов(пока не купить сертификат или поднять СА),только добавить путь до скрипта в Trusted Zone - http://clintboessen.blogspot.com/2010/03/add-site-to-local-intranet-zone-group.html.

    • Помечено в качестве ответа LeganSV 7 декабря 2012 г. 6:51
    5 декабря 2012 г. 21:20
    Отвечающий

Все ответы

  • Политика выполнения имеет значение - AllSigned?

    set-executionpolicy AllSigned

    4 декабря 2012 г. 13:43
    Отвечающий
  • Политика выполнения имеет значение - AllSigned?

    set-executionpolicy AllSigned

    Нет, на всех компьютерах стоит по-умолчанию Restricted

    Видимо загвостка тут.

    Можно ли как-то с помощью GPO выставить на всех ПК AllSigned (или может лучше RemoteSigned?)

    Сервер - Windows Server 2003

    4 декабря 2012 г. 16:39
  • Можно ли как-то с помощью GPO выставить на всех ПК AllSigned (или может лучше RemoteSigned?)

    Сервер - Windows Server 2003


    Вы можете скачать дополнительные административные шаблоны (http://www.microsoft.com/en-us/download/details.aspx?id=25119) для управления PowerShell, а далее через GPO задать необходимые настройки
    4 декабря 2012 г. 17:23
  • Спасибо! Политику установить удалось, поставил AllSigned.

    Теперь возникла следующая проблема - автоматически при логоне скрипт не запускается, попробовал его запустить вручную и он спросил - запускать всегда, единожды не запускать и т.д.

    А как обойти это сообщение? Чтобы например автоматически выбиралось "Всегда запускать" или вообще не было этого вопроса.

    5 декабря 2012 г. 5:54
  • Спасибо! Политику установить удалось, поставил AllSigned.

    Теперь возникла следующая проблема - автоматически при логоне скрипт не запускается, попробовал его запустить вручную и он спросил - запускать всегда, единожды не запускать и т.д.

    А как обойти это сообщение? Чтобы например автоматически выбиралось "Всегда запускать" или вообще не было этого вопроса.

    Конечно, это несколько противоречит исходной постановке задачи, но попробуйте запускать скрипт с помощью команды: powershell.exe -executionpolicy bypass -file .\ИмяВашегоСкрипта.ps1
    5 декабря 2012 г. 6:22
  • Но я установил запуск скрипта через политику в User Configuration > Windows Settings > Scripts > Logon

    Там есть поле "Script parameters" - может можно как-то указать подобную команду там? Или он поймет, если я укажу там просто powershell.exe -executionpolicy bypass ?

    p.s. Вы говорите, это противоречит исходной постановке задачи. Может в таком случае есть еще каокй-то пусть обхода того сообщения? Например поставить политику не AllSigned, а RemoteSigned?

    p.p.s Попробовал запустить скрипт как Вы советовали (с помощью .bat файла), получаю следующее сообщение:

    Не удается проверить издателя. Вы действительно хотите запустить эту программу?

    В принципе есть вариант ответить - да. Но это вручную. В автоматическом режиме скрипт не применяется.

    • Изменено LeganSV 5 декабря 2012 г. 7:04
    5 декабря 2012 г. 6:32
  • А каким сертификатом подписывали?

    MCITP:SA, MCTS:Exchange Configuring

    5 декабря 2012 г. 12:42
  • Подписывал собственным сертификатом. Пользовался этой инструкцией
    • Изменено LeganSV 5 декабря 2012 г. 16:24
    5 декабря 2012 г. 16:23
  • А какой смысл этой затеи без CA? Проще выставить политику RemoteSigned и обойтись без подписи скриптов(пока не купить сертификат или поднять СА),только добавить путь до скрипта в Trusted Zone - http://clintboessen.blogspot.com/2010/03/add-site-to-local-intranet-zone-group.html.

    • Помечено в качестве ответа LeganSV 7 декабря 2012 г. 6:51
    5 декабря 2012 г. 21:20
    Отвечающий
  • Спасибо, это помогло!

    На windows 7 office 2007 сработало все отлично.

    Осталась проблема - в домене порядка 150 ПК с Windows XP SP3.

    Есть ли какая-то возможность установить на них powershell через GPO? Нашел KB, но он .exe

    6 декабря 2012 г. 11:15
  • Спасибо, это помогло!

    На windows 7 office 2007 сработало все отлично.

    Осталась проблема - в домене порядка 150 ПК с Windows XP SP3.

    Есть ли какая-то возможность установить на них powershell через GPO? Нашел KB, но он .exe

    1) PowerShell доступен через WSUS

    2) Используя GPO - http://mctexpert.blogspot.ru/2011/05/how-to-deploy-powershell-v2-to-your.html

    6 декабря 2012 г. 11:32
    Отвечающий