none
GPO Logon Scripts, Не отрабатывает скрипт .PS1 .BAT RRS feed

  • Вопрос

  • Всем привет! Ситуация такая.

    Имеем 2012r2, AD.
    В GPO новый объект не создавал, не вижу нужды, настраиваю default Domain Policy.

    Computer Configuration - Policies
    Administrative Tmplates - Windows Components- PowerShell - Script Execution Enabled - remote signed
    System - Always wait for the network at computer startup and logon - Enabled

    User Configuration - Policies
    Windows Settings - Scripts (Logon/Logoff) - Тут прописал аж два скрипта .BAT и .PS1 в соответсвующих вкладках

    содержимое скриптов:

    BAT
    net use H: \\srvname\Share

    PS
    New-PSDrive -Persist -Name H -PSProvider FileSystem -Root \\srvname\Share 

    Файлы скриптов лежат в \\FQDN\SYSVOL\FQDN\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\USER\Scripts\Logon


    Локально ручками, скрипты запускаются, хотя тоже с огрехами.

    Что не получается:
    1. Скрипты при логоне не отрабатывают, ибо нет результата, хотя они рабочие.
    2. Призапуске в ручную .PS1 если поставить паузу, наблюдается такая картина 

    Set-ExecutionPolicy : Windows PowerShell updated your execution policy successfully, but the setting is overridden by a
     policy defined at a more specific scope.  Due to the override, your shell will retain its current effective execution
    policy of RemoteSigned. Type "Get-ExecutionPolicy -List" to view your execution policy settings. For more information p
    lease see "Get-Help Set-ExecutionPolicy".
    At line:1 char:46
    + if((Get-ExecutionPolicy ) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process  ...
    +                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : PermissionDenied: (:) [Set-ExecutionPolicy], SecurityException
        + FullyQualifiedErrorId : ExecutionPolicyOverride,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand

    Name           Used (GB)     Free (GB) Provider      Root                                               CurrentLocation
    ----           ---------     --------- --------      ----                                               ---------------
    H                    ,50       1862,00 FileSystem    \\srvname\Share
    Press Enter to continue...:

    При этом как видно, диск атачется! Но после нажатия Enter он отваливается.

    С правами все хорошо, ибо все делаю из под Domain Admins.

    Перерыл кучу документации, и форумов, как заставить отробатывать скрипты при Logon так и не пойму.
    В 2003 сервере таких проблем не было.

    Хелп, кто уже настраивал подобное, у кого то заработало ? помогите советом... что не так ?


    • Изменено LazyPepper 26 августа 2014 г. 7:49
    26 августа 2014 г. 7:48

Ответы

  • Я конечно дико извиняюсь такое здесь писать, но это подстава, ей богу.

     

    "This policy setting allows you to configure how long the Group Policy client waits after logon before running scripts.

    By default, the Group Policy client waits five minutes before running logon scripts. This helps create a responsive desktop environment by preventing disk contention."

    Оказывается, скрипы отрабатывали спустя 5 минут.

    Решение:

    Computer Configuration\Policies\Administrative Templates\System\Group Policy\Configure Logon Script Delay

    Switch to Disabled

    http://admintroubles.ru/?p=124

    Диски все равно не мапятся таким способом, но это уже другая история. 

    По этому спасибо Saqwel, идея echo оказалась самой продуктивной в поиске ответа.

    p.s. Решение уже по дискам
    На клиентской машине (можно распространить через GPO в том же скрптие)
    Создать раздел реестра

    Enable Linked Connections by creating a DWORD named EnableLinkedConnections with a value of 1 in 
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
    Reboot the computer.

    • Помечено в качестве ответа LazyPepper 31 августа 2014 г. 18:47
    • Изменено LazyPepper 31 августа 2014 г. 19:46
    31 августа 2014 г. 18:46

Все ответы

  • 1) если вы делаете новые изменения в GPO делать их необходимо уж не как не в доменной политике

    (это как минимум не красиво к админам которые придут после вас)

    2) Зачем вы одно и тоже делаете в 2х местах одновременно? (Используйте или один или другой скрипт)

    3) Для монтирования сетевого диска есть специальный раздел групповой политики

    4) Политика запуска скриптов не влияет на запуск скриптов из политики (считается что политика уже достаточно безопасна)

    5) Если вы производите какие-то изменения в существующей политике то как минимум на клиенте необходимо сделать gpupdate /force дабы политики переприменились


    26 августа 2014 г. 8:07
    Модератор
  • Начните с gpresult

    Roman Levchenko, MCSA, MCITP, MCTS http://www.rlevchenko.com

    26 августа 2014 г. 9:44
  • 1) если вы делаете новые изменения в GPO делать их необходимо уж не как не в доменной политике

    (это как минимум не красиво к админам которые придут после вас)

    2) Зачем вы одно и тоже делаете в 2х местах одновременно? (Используйте или один или другой скрипт)

    3) Для монтирования сетевого диска есть специальный раздел групповой политики

    4) Политика запуска скриптов не влияет на запуск скриптов из политики (считается что политика уже достаточно безопасна)

    5) Если вы производите какие-то изменения в существующей политике то как минимум на клиенте необходимо сделать gpupdate /force дабы политики переприменились


    1. Согласен, но по сути так тоже должно работать, при создании OU и применение всех условий в ней, картина все рано не меняется.

    2. Так я сделал для исключения не отработки PS из за возможно запрещающих политик безопасности

    3. О! а не подскажите где именно находится этот раздел и какой параметр. 

    4. С Майкросовтовской паранойей уж и не знаешь на что думать.

    5. Само собой, каждое изменение сопровождается данной процедурой.

    26 августа 2014 г. 9:52
  • Спасибо Vector BCO за п.3 

    Разобрался, диски мапятся!

    Но вопрос так и остался интересным, почему же скрипты не отрабатывали .....?

    26 августа 2014 г. 11:03
  • В Group policy preferences есть отличная возможность мапить диски.
    26 августа 2014 г. 11:12
  • Спасибо Vector BCO за п.3 

    Разобрался, диски мапятся!

    Но вопрос так и остался интересным, почему же скрипты не отрабатывали .....?

    Подскажите пожалуйста а сам логон вы производите, после gpupdate /force?

    Раздел логон скриптов отрабатывает после логона (необходимо выйти и зайти)

    Заздел стартап скриптов отрабатывает при загрузке (необходима перезагрузка)

    Если в политике и скрипте всё нормально то всё должно отрабатывать (у меня работает), могу потестить вашу конфигурацию

    Коль помог отметьте ответ

    26 августа 2014 г. 11:35
    Модератор
  • Logof/Logon/Reboot не помогают.

    Я поставил голос, сразу.
    Мне не жалко и Solved поставить, просто люди читающие ветку будут путаться, ведь проблема не решена.
    Да, поставленная задача выполнена, диски мапятся, но сам вопрос, так и не решился.
    Хочется разобраться как работает PS что ему мешает и в каких ситуациях.
    Почему не мапятся через скрипты ?

    Ставлю "Решено", господа форумчане, что скажите ?

    26 августа 2014 г. 13:22
  • Пока не ставьте, давайте еще подумаем в чем вопрос, но не забудьте о Solved  опосля ;)
    26 августа 2014 г. 13:26
    Модератор
  • Предлагаю выполнить gpresult /H %userprofile%\desktop\result.html и показать result.html обществу.

    • Изменено Saqwel 26 августа 2014 г. 14:53
    • Предложено в качестве ответа R.LevchenkoMVP 26 августа 2014 г. 15:13
    • Отменено предложение в качестве ответа R.LevchenkoMVP 26 августа 2014 г. 15:28
    26 августа 2014 г. 14:50
  • Предлагаю выполнить gpresult /H %userprofile%\desktop\result.html и показать result.html обществу.

    попробую так опубликовать.

    Два вывода 
    1. gpresult /USER Lazy /V
    https://www.evernote.com/shard/s153/sh/55b32e17-d4e6-44fb-a3c2-436dc2e0ac4e/36adc5d3860a8f79e481292a5ee87a48

    2. gpresult /H
    https://yadi.sk/d/mVAos-oqaVXNf

    p.s. Забыл сказать, доменные имена заменены на DomainName и FQDN_DomainName в соответствующих местах.
    • Изменено LazyPepper 27 августа 2014 г. 6:32
    27 августа 2014 г. 6:26
  • Не вижу ошибок, всё хорошо. Вообще неплохо бы убрать Preferences и оставить только скрипт и желательно оставить батник, в котором точно всё правильно написано.

    И отключить диск вручную перед тем как пробовать.

    Можно ещё какую-нибудь строчку добавить в батник,  которая создавала бы какой-нибудь файл, чтоб быть уверенным что не работает весь батник, а не ошибка где-нибудь в команде.

    27 августа 2014 г. 7:15
  • Добавил, в батник

    msg "%username%" Some message to display

    Толку null

    Что то не позволяет их запускать, какая-то секурность.
    Можно ли как то логирование настроить ?
    Как бы включить полный дебаг ?

    27 августа 2014 г. 17:57
  • Добавил, в батник

    msg "%username%" Some message to display

    Толку null

    Что то не позволяет их запускать, какая-то секурность.
    Можно ли как то логирование настроить ?
    Как бы включить полный дебаг ?

    Для Powershell могу порекомендовать поменять RemoteSigned на Unrestricted в политике. Разве у Вас скрипты trusted publisher'ом подписываются? 

    Roman Levchenko, MCSA, MCITP, MCTS http://www.rlevchenko.com

    27 августа 2014 г. 20:08
  • Вот чтобы не ковыряться с секурностью PS, уже решил перейти на БАТники.

    Или их тоже теперь надо подписывать и они также участвуют в секурности PS?

    Проще то не куда. BATники всегда запускались. на предыдущих OS

    27 августа 2014 г. 20:32
  • Вот чтобы не ковыряться с секурностью PS, уже решил перейти на БАТники.

    Или их тоже теперь надо подписывать и они также участвуют в секурности PS?

    Проще то не куда. BATники всегда запускались. на предыдущих OS

    BAT без проблем. при успешном gpresult - должно всё быть. Даже изначально не очень понятно зачем Вам 2 скрипта, выполняющих одну и ту же функцию. Для скриптов можно сделать отдельную шару с необходимыми правами и оттуда их добавлять в политику. 

    Roman Levchenko, MCSA, MCITP, MCTS http://www.rlevchenko.com

    27 августа 2014 г. 20:38
  • может лучше уж добавить в батник что-то вроде

    echo "test" > c:\test.txt 

    а вот msg не уверен что он будет отображать.

    28 августа 2014 г. 2:30
  • Я конечно дико извиняюсь такое здесь писать, но это подстава, ей богу.

     

    "This policy setting allows you to configure how long the Group Policy client waits after logon before running scripts.

    By default, the Group Policy client waits five minutes before running logon scripts. This helps create a responsive desktop environment by preventing disk contention."

    Оказывается, скрипы отрабатывали спустя 5 минут.

    Решение:

    Computer Configuration\Policies\Administrative Templates\System\Group Policy\Configure Logon Script Delay

    Switch to Disabled

    http://admintroubles.ru/?p=124

    Диски все равно не мапятся таким способом, но это уже другая история. 

    По этому спасибо Saqwel, идея echo оказалась самой продуктивной в поиске ответа.

    p.s. Решение уже по дискам
    На клиентской машине (можно распространить через GPO в том же скрптие)
    Создать раздел реестра

    Enable Linked Connections by creating a DWORD named EnableLinkedConnections with a value of 1 in 
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
    Reboot the computer.

    • Помечено в качестве ответа LazyPepper 31 августа 2014 г. 18:47
    • Изменено LazyPepper 31 августа 2014 г. 19:46
    31 августа 2014 г. 18:46