none
Не отрабатывает startup powershell-скрипт через GPO RRS feed

  • Вопрос

  • Имеется контроллер домена на Windows 2012 R2. В политику "Default domain policy" добавлен скрипт driverAdd.ps1 в разделе "Конфигурация компьютера"->"Политики"->"Конфигурация Windows"->"Сценарии (запуск/завершение)"->"Автозагрузка"->"Сценарии PowerShell".

    Содержание скрипта driverAdd.ps1:

    & pnputil -a "\\tserver\Distribs\drivers\HP LaserJet 1212nf\LJ1212nf_Win8\HPM1210.INF"
    Add-PrinterDriver -Name 'HP LaserJet Professional M1212nf MFP'

    После перезапуска рабочейстанции Windows 10 драйвер принтера не устанавливается, "gpupdate /force" не помогает. В журнале никаких ошибок не видно.

    Делаю следующее. Вместо powershell-скрипта ставлю батник в раздел "Сценарии" следующего содержания:

    pnputil -a "\\tserver\Distribs\drivers\HP LaserJet 1212nf\LJ1212nf_Win8\HPM1210.INF"
    powershell -command "& {&'Add-PrinterDriver' -Name 'HP LaserJet Professional M1212nf MFP'}"

    После перезагрузки рабочей станции драйвер автоматически устанавливается.

    В чём прикол?

    17 октября 2016 г. 13:04

Ответы

  • Добрый день.

    Скрипт подписан?

    Возможно дело в script execution policy powershell


    Я не волшебник, я только учусь MCP, MCTS. Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции работодателя. Вся информация предоставляется как есть без каких-либо гарантий. Блог IT Инженера и IT Reviews

    17 октября 2016 г. 18:51
    Модератор
  • Нет, скрипт не подписан. Было бы странно подписывать скрипт, состоящий из двух строк :)
    Эту политику видел, и она у меня не задана. Но я не хотел её трогать, не разобравшись и не будучи уверенным, что дело в ней. Всё-таки, это может ослабить безопасность, верно?

    Как узнать, что дело имеено в "execution policy"? В журнале никаких записей нету. Или действует какая-то задержка для powershell скриптов, о которой я не знаю?

    Добрый день.

    Подпишите скрипт сертификатом Code signing доверенного доменного CA.

    И проверьте выполнение политики


    Я не волшебник, я только учусь MCP, MCTS. Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции работодателя. Вся информация предоставляется как есть без каких-либо гарантий. Блог IT Инженера и IT Reviews

    18 октября 2016 г. 18:59
    Модератор
  • Если речь идет о политике "Задержка сценария входа", то она влияет на logon-скрипты, верно? А в моём случае речь идёт о startup-скрипте. Да и политика должна влиять одинаково на powershell и обычные скрипты.

    Стартап скрипты отрабатывают с задержкой о чем писал выше. Если скрипт не запустился на протяжении 20 минут скорее всего есть проблема в политике. Если скрипт запустился но при этом ничего не сделал проблема может быть в разрешениях на шару или стартом сетевых адаптеров (иногда они поднимаются не сразу)

    Execution policy вы можете посмотреть через сам пош используя командлет get-executionpolicy в политике для теста можете выставить выполнение всех скриптов

    Так же не лишним было бы в скрипт приписать логирование на момент отладки как минимум. Например в начало файла дописать:

    "Gpo PoSh script running successfully at $(get-date)" | out-file c:\gpo.log


    The opinion expressed by me is not an official position of Microsoft

    18 октября 2016 г. 20:42
    Модератор

Все ответы

  • Скрипты запускаются с задержкой в 15 минут по дефолту ЕМНИП. Как следствие может складываться впечатление что они не запускаются. Значение можно менять в политике

    The opinion expressed by me is not an official position of Microsoft

    17 октября 2016 г. 17:28
    Модератор
  • Если речь идет о политике "Задержка сценария входа", то она влияет на logon-скрипты, верно? А в моём случае речь идёт о startup-скрипте. Да и политика должна влиять одинаково на powershell и обычные скрипты.
    18 октября 2016 г. 16:51
  • Нет, скрипт не подписан. Было бы странно подписывать скрипт, состоящий из двух строк :)
    Эту политику видел, и она у меня не задана. Но я не хотел её трогать, не разобравшись и не будучи уверенным, что дело в ней. Всё-таки, это может ослабить безопасность, верно?

    Как узнать, что дело имеено в "execution policy"? В журнале никаких записей нету. Или действует какая-то задержка для powershell скриптов, о которой я не знаю?

    18 октября 2016 г. 16:57
  • Нет, скрипт не подписан. Было бы странно подписывать скрипт, состоящий из двух строк :)
    Эту политику видел, и она у меня не задана. Но я не хотел её трогать, не разобравшись и не будучи уверенным, что дело в ней. Всё-таки, это может ослабить безопасность, верно?

    Как узнать, что дело имеено в "execution policy"? В журнале никаких записей нету. Или действует какая-то задержка для powershell скриптов, о которой я не знаю?

    Добрый день.

    Подпишите скрипт сертификатом Code signing доверенного доменного CA.

    И проверьте выполнение политики


    Я не волшебник, я только учусь MCP, MCTS. Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции работодателя. Вся информация предоставляется как есть без каких-либо гарантий. Блог IT Инженера и IT Reviews

    18 октября 2016 г. 18:59
    Модератор
  • Если речь идет о политике "Задержка сценария входа", то она влияет на logon-скрипты, верно? А в моём случае речь идёт о startup-скрипте. Да и политика должна влиять одинаково на powershell и обычные скрипты.

    Стартап скрипты отрабатывают с задержкой о чем писал выше. Если скрипт не запустился на протяжении 20 минут скорее всего есть проблема в политике. Если скрипт запустился но при этом ничего не сделал проблема может быть в разрешениях на шару или стартом сетевых адаптеров (иногда они поднимаются не сразу)

    Execution policy вы можете посмотреть через сам пош используя командлет get-executionpolicy в политике для теста можете выставить выполнение всех скриптов

    Так же не лишним было бы в скрипт приписать логирование на момент отладки как минимум. Например в начало файла дописать:

    "Gpo PoSh script running successfully at $(get-date)" | out-file c:\gpo.log


    The opinion expressed by me is not an official position of Microsoft

    18 октября 2016 г. 20:42
    Модератор