Вы можете использовать групповые политики для распространения запланированных заданий планировщика Windows (Task Scheduler) на компьютерах пользователей домена. Например, вы можете создать задание, которое автоматически завершит сессию пользователя/выключит компьютер пользователя в определенное время, или запустит определенный скрипт.
В этом примере мы через Group Policy Preferences создадим и распространим на компьютеры пользователей новое задание планировщика, которое будет выводить всплывающее уведомление пользователям.
- Откройте консоль управления доменными групповыми политиками (gpmc.msc), создайте новую GPO и назначьте ее на Organizational Unit с пользователями или компьютерами, на которые нужно назначить задание планировщика (если вы назначаете GPO на OU с компьютерами, нужно включить параметр Configure user Group Policy Loopback Processing mode в разделе Computer Configuration -> Administrative Templates -> System -> Group Policy, см. объяснение здесь);
- Перейдите в раздел User Configuration -> Preferences -> Control Panel Settings -> Scheduled Tasks;
- Создайте новое задание планировщика New -> Scheduled task (At least Windows 7);Пункт Immediate Task (at least Windows 7) позволяет создать задание, которое будет запущено только один раз, но максимально быстро (сразу после следующего обновления групповых политик на клиенте).
- Перед вами появится окно, похожее на стандартное окно настройки заданий планировщика Windows. Настройте параметры вашего задания;
- На вкладке General задайте Action = Update, укажите имя задания. Чтобы задание запускалось от имени пользователя укажите здесь
%LogonDomain%\%LogonUser%
. Для запуска задания с правами администратора, включите опцию Run with highest privileges;Если вы создаете задание планировщика в секции GPO Computer Configuration, можно запускать задание от имени системы (NT AUTHORITY\System
). - На вкладке Triggers укажите, когда нужно запускать задание. В моем случае я хочу запускать задание ежедневно в 17:00. Выберите New -> Begin the task On a schedule -> Daily, укажите время запуска задания;
- На вкладке Actions нужно указать команду или скрипт, которое нужно выполнить через планировщик. Укажите следующие параметры задания:Action: «Start a program»
Program/Script:C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe
Add Arguments (optional):-ExecutionPolicy Bypass -command "& \\winitpro.ru\SysVol\winitpro.ru\scripts\ShowReminder.ps1"
Можно скопировать файл PS1 скрипта через GPO на компьютеры пользователей, или запускать скрипт напрямую из UNC каталога. В этом примере я запускаю PowerShell скрипт, отображающий всплывающее уведомление, из каталога SYSVOL на контроллере домена. Для обхода политики выполнения скриптов PowerShell на компьютерах пользователей, я использую параметр-ExecutionPolicy Bypass
. - Перезагрузите компьютер пользователя, чтобы применить к нему GPO. Откройте консоль Task Scheduler (
taskschd.msc
) и убедитесь, что в Task Scheduler Library появилось новое назначенное задание. Проверьте, что она отрабатывает согласно расписанию.
Start-ScheduledTask YourTaskName1
Обратите внимание, что в отличии от логон скриптов GPO, которые можно настроить на запуск только при загрузке/выключении компьютера, или входе/выходе пользователя, задания планировщика можно запускать в любое время или после наступления определенного события-триггера (см. пример, как запустить скрипт (действие) при запуске (завершении) определенной программы в Windows).[/alert]