Групповые политики: запуск скрипта только один раз

Логон (логоф) скрипты групповых политик позволяют запустить bat или PowerShell скрипт при загрузке компьютера или входе (выходе) пользователя. В некоторых случаях администратору нужно, чтобы определенный скрипт (команда) запускались для каждого пользователя или компьютера только один раз, и не отрабатывал при следующих входах.

Одним из вариантов решения данной проблемы может быть использование стандартного логон скрипта, который проверяет наличие определенного флага на компьютере. Этом может быть параметр в реестре или текстовый файл на диске

Например, вы хотите, чтобы определенный код выполнялся только один раз при первом входе пользователя на компьютер.

  1. Создайте следующий bat файл ( corp_user_init.bat ) и поместите его в каталог %SystemRoot%SYSVOLsysvol<domain name>scripts на котроллере домена: @echo off
    IF EXIST C:Users%UserName%AppDataapp_init.txt GOTO END
    :APPFLAG
    date /t >> C:Users%UserName%AppDataapp_init.txt
    time /t >> C:Users%UserName%AppDataapp_init.txt
    REM Здесь добавьте код вашего скрипта, который нужно выполнить один раз
    :END

    Данный скрипт при первом запуске создает небольшой текстовый файл в профиле пользователя. При следующем запуске скрипта через GPO, скрипт проверяет есть ли данный файл на диске. Если файл присутствует, значит скрипт уже выполнялся и выполнять код повторно не нужно.
  2. Откройте консоль редактора доменных GPO ( gpmc.msc );
  3. Создайте новую политику и назначьте ее на OU с пользователями (или компьютерами, но для этого нужно включить режим замыкания групповой политики — Loopback Processing mode );
  4. Перейдите в раздел User Configuration -> Windows Settings -> Scripts (Logon / Logoff) ;
  5. Выберите Logon ;
  6. Нажмите кнопку Add и укажите путь к вашему bat файлу в SYSVOL ( \remontka.comSysVolremontka.comscripts );
  7. После обновления групповых политик на клиенте при входе пользователя будет выполнен ваш скрипт. Убедитесь, что он успешно создал файл app_init.txt в профиле пользователя;
    Если GPO со скриптом не применилась, используйте утилиту gpresult и методики диагностики из статьи Почему не применяется групповая политика .
  8. При следующем входе пользователя на компьютер, основной код скрипта не будет выполняьбся. Т.е. по сути скрипт применится к пользователю только один раз.

Другой вариант разового запуска скрипта через GPO предполагает использование разового задания планировщика Task Scheduler.

  1. Поместите ваш файл скрипта (это может быть bat или PowerShell) в каталог Sysvol на контроллере домена (\<ваш_домен>SysVol<ваш_домен>scripts);
  2. Создайте новую GPO, назначьте ее на OU с пользователями и откройте ее настройки;
  3. Перейдите в раздел Preferences -> Control Panel Settings -> Scheduled Task -> New -> Immediate Task (At least Windows 7) ;
  4. Укажите имя задания;
  5. Перейдите на вкладку Actions , нажмите New и укажите полный UNC путь к вашему скрипту в SYSVOL;
  6. Затем перейдите на вкладку Common и включите опцию Apply once and do not reapply ;
  7. Такое задание также отработает на компьютере только один раз при первом входе пользователя.
Если вы хотите запускать PowerShell скрипты через GPO, нужно настроить политику выполнения скриптов PS1, или использовать параметр -ExecutionPolicy Bypass при запуске скрипт (пример есть здесь ).
admin

Share
Published by
admin

Recent Posts

Apple: история логотипа

Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…

6 дней ago

Security Boot Fail при загрузке Acer — решение проблемы

Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…

3 недели ago

Ноутбук не включается — варианты решения

Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…

3 недели ago

The AC power adapter wattage and type cannot be determined — причины и решение

The AC power adapter wattage and type cannot be determined — причины и решение При…

3 недели ago

Свистит или звенит блок питания компьютера — причины и решения

Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…

3 недели ago

Мигает Caps Lock на ноутбуке HP — почему и что делать?

Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…

3 недели ago