community.windows.win_scheduled_task – Управление запланированными задачами
Примечание
Этот плагин входит в коллекцию community.windows (версия 1.2.0).
Для его установки используйте: ansible-galaxy collection install community.windows.
Для использования в плейбуке укажите: community.windows.win_scheduled_task.
Обзор
- Создаёт/модифицирует или удаляет запланированные задачи Windows.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| actions список / элементы=строка | Список действий для настройки задачи. См. подварианты для подробностей о построении каждого элемента списка. При создании задачи ДОЛЖЕН быть хотя бы один элемент действия, но при удалении задачи это может быть пустой список или null. Порядок в этом списке важен, модуль гарантирует сохранение порядка при изменении задачи. Этот модуль поддерживает только тип ExecAction, но все еще может удалять устаревшие типы. | |||
| arguments строка | Строка аргументов для передать исполняемому файлу. | |||
| path строка / обязательно | Путь к исполняемому файлу для ExecAction. | |||
| working_directory строка | Рабочая директория для запуска исполняемого файла. | |||
| allow_demand_start логическое |
| Разрешает ли задача запуск с помощью команды «Запуск» или контекстного меню. | ||
| allow_hard_terminate логическое |
| Разрешает ли задача завершение с помощью TerminateProcess. | ||
| author строка | Автор задачи. | |||
| compatibility целое число |
| Целое значение, указывающее с какой версией Планировщика задач совместима задача. 0 означает, что задача совместима с командой AT.1 означает, что задача совместима с Планировщиком задач 1.0.2 означает, что задача совместима с Планировщиком задач 2.0. | ||
| date строка | Дата регистрации задачи. | |||
| delete_expired_task_after строка | Время ожидания Планировщиком задач перед удалением задачи после истечения срока её действия. Задача истекает после превышения граничного значения для всех триггеров, связанных с задачей. Формат ISO 8601 для продолжительности P[n]Y[n]M[n]DT[n]H[n]M[n]S. | |||
| description строка | Описание задачи. | |||
| disallow_start_if_on_batteries логическое |
| Запретить запуск задачи, если компьютер питается от батареи. | ||
| display_name строка | Имя пользователя/группы, отображаемое в пользовательском интерфейсе Планировщика задач. | |||
| enabled логическое |
| Включена ли задача; задача может выполняться только когда yes. | ||
| execution_time_limit строка | Предельное время выполнения задачи. Значение `PT0S` означает неограниченное время. Если не указано, предельное время составляет 72 часа. Формат ISO 8601 для продолжительности P[n]Y[n]M[n]DT[n]H[n]M[n]S. | |||
| group строка | Группа, которая будет выполнять задачу. group и username взаимоисключающие и не могут быть заданы одновременно.logon_type может быть не задана или равна group. | |||
| hidden логическое |
| Скрыть задачу в пользовательском интерфейсе. | ||
| logon_type строка |
| Метод входа, с которым будет выполняться задача. password означает, что пароль будет сохранен, и задача имеет доступ к сетевым ресурсам.s4u означает, что существующий токен будет использован для выполнения задачи, и пароль не будет сохранен с задачей. Нет доступа к сети или зашифрованным файлам.interactive_token означает, что пользователь должен быть залогинен интерактивно и будет выполняться в существующей интерактивной сессии.group означает, что задача будет выполнена как группа.service_account означает, что задача будет выполнена учетной записью службы, такой как System, Local Service или Network Service. | ||
| multiple_instances целое число |
| Целое число, указывающее поведение при запуске задачи, которая уже выполняется. 0 запустит новую инстанцию параллельно с существующими инстанциями этой задачи.1 будет ждать завершения других инстанций этой задачи, прежде чем запустить себя.2 не запустит новую инстанцию, если другая уже запущена.3 остановит другие инстанции задачи и запустит новую. | ||
| name строка / обязательно | Имя запланированной задачи без пути. | |||
| password строка | Пароль учетной записи пользователя для выполнения запланированной задачи. Требуется при запуске задачи без входа пользователя, за исключением встроенных учетных записей служб и учетных записей служб управляемых группой (gMSA). Если задано, всегда приведет к изменению, если update_password установлено в no, и другие изменения для службы не требуются. | |||
| path строка | Значение по умолчанию: "\\" | Папка задач, в которой будет храниться эта задача. Будет создана папка, когда state=present и папка еще не существует.Будет удалена папка, когда state=absent и в папке не осталось задач. | ||
| priority целое число | Уровень приоритета (0-10) задачи. По умолчанию при создании новой задачи 7.См. https://msdn.microsoft.com/en-us/library/windows/desktop/aa383512.aspx для подробностей о уровнях приоритета. | |||
| restart_count целое число | Количество попыток перезапуска задачи Планировщиком задач. | |||
| restart_interval строка | Время ожидания Планировщиком задач при попытке перезапустить задачу. Если задано, то restart_count также должно быть задано.Максимальное допустимое время — 31 день. Минимальное допустимое время — 1 минута. Формат ISO 8601 для продолжительности P[n]Y[n]M[n]DT[n]H[n]M[n]S. | |||
| run_level строка |
| Уровень прав пользователя, используемых для запуска задачи. Если не указано, задача будет создана с ограниченными правами. псевдонимы: runlevel | ||
| run_only_if_idle логическое |
| Выполнять задачу только если компьютер в состоянии простоя. | ||
| run_only_if_network_available логическое |
| Выполнять задачу только при наличии сети. | ||
| source строка | Источник задачи. | |||
| start_when_available логическое |
| Разрешить запуск задачи в любое время после прохождения запланированного времени. | ||
| state строка |
| При значении state=present гарантируется существование задачи.При значении state=absent гарантируется отсутствие задачи. | ||
| stop_if_going_on_batteries логическое |
| Остановить задачу, если компьютер переходит на питание от батареи. | ||
| triggers список / элементы=строка | Список триггеров для настройки задачи. См. подварианты для подробностей о построении каждого элемента списка. Порядок в этом списке важен, модуль гарантирует сохранение порядка при изменении задачи. Существует несколько типов триггеров, см. https://msdn.microsoft.com/en-us/library/windows/desktop/aa383868.aspx для списка типов триггеров и их параметров. Нижеперечисленные параметры подвариантов не обязательны для всех типов триггеров, прочтите описание для получения дополнительных подробностей. | |||
| days_of_month строка | Дни месяца от 1 до 31 для триггеров. Если необходимо установить триггер на последний день месяца, используйте run_on_last_day_of_month.Может быть списком или строкой с днями, разделенными запятыми. Необходимо при type=monthly. | |||
| дни_недели строка | Дни недели для триггера. Может быть списком или строкой через запятую с полными именами дней, например, понедельник вместо пн. Требуется, когда type является weekly, type=session_state_change.Необязательно, когда type=monthlydow. | |||
| задержка строка | Время задержки задачи после срабатывания триггера. Необязательно, когда type является boot, event, logon, registration, session_state_change.Формат ISO 8601 Duration P[n]Y[n]M[n]DT[n]H[n]M[n]S. | |||
| включено логическое |
| Включить или отключить триггер Используется для всех типов триггеров. | ||
| конечная_граница строка | Конечное время деактивации триггера. Формат ISO 8601 DateTime YYYY-MM-DDThh:mm:ss. | |||
| лимит_времени_выполнения строка | Максимальное время выполнения задачи. Необязательно для всех типов триггеров. Формат ISO 8601 Duration P[n]Y[n]M[n]DT[n]H[n]M[n]S. | |||
| месяцы_года строка | Месяцы года для триггера. Может быть списком или строкой через запятую с полными именами месяцев, например, март вместо мар. Необязательно, когда type является monthlydow, monthly. | |||
| случайная_задержка строка | Время задержки, случайно добавленное к начальному времени триггера. Необязательно, когда type является daily, monthlydow, monthly, time, weekly.Формат ISO 8601 Duration P[n]Y[n]M[n]DT[n]H[n]M[n]S. | |||
| повторение строка | Позволяет определить действие повторения триггера, определяющее частоту выполнения задачи и продолжительность цикла повторения после запуска задачи. Принимает следующие ключи: duration, interval, stop_at_duration_end
| |||
| продолжительность строка | Определяет длительность цикла повторения. Значение в формате ISO 8601 Duration P[n]Y[n]M[n]DT[n]H[n]M[n]S.По умолчанию не задано, что означает неограниченное повторение. | |||
| интервал строка | Время между каждым перезапуском задачи. Значение в формате ISO 8601 Duration P[n]Y[n]M[n]DT[n]H[n]M[n]S. | |||
| остановка_по_окончании_цикла логическое |
| Останавливать ли запущенный экземпляр задачи по окончании цикла повторения. | ||
| выполнять_в_последний_день_месяца логическое |
| Логическое значение, определяющее, выполняется ли задача в последний день месяца. Необязательно, когда type является monthly. | ||
| выполнять_в_последнюю_неделю_месяца логическое |
| Логическое значение, определяющее, выполняется ли задача в последнюю неделю месяца. Необязательно, когда type является monthlydow. | ||
| начальная_граница строка | Начальное время задачи. Даже если триггер соответствует другим критериям запуска, он не начнётся до достижения этого времени. Если вы хотите запустить задачу в 9 утра определённого дня, вам всё равно нужно указать дату активации триггера. Можно задать любую дату, даже прошедшую. Требуется, когда type является daily, monthlydow, monthly, time, weekly, (session_state_change).Необязательно для остальных типов триггеров. Формат ISO 8601 DateTime YYYY-MM-DDThh:mm:ss. | |||
| подписка строка | Используется только для type=event.Строка запроса XML, определяющая событие, запускающее триггер. | |||
| тип строка / обязательно |
| Тип триггера, этот параметр управляет требованиями к нижеперечисленным параметрам. | ||
| id_пользователя строка | Имя пользователя, на который будет нацелен триггер. Необязательно, когда type является logon, session_state_change.Может быть именем пользователя или SID. Если type=logon и вы хотите, чтобы триггер срабатывал при входе пользователя в группу, оставьте это значение null и задайте group для группы, для которой требуется триггер. | |||
| интервал_недель целое_число | Интервал недель для запуска, например, 1 означает каждую неделю, а 2 означает через неделю.Необязательно, когда type=weekly. | |||
| недели_месяца строка | Недели месяца для триггера. Может быть списком или строкой через запятую с числами от 1 до 4, представляющими первую до четвёртой недели месяца. Необязательно, когда type=monthlydow. | |||
| обновить_пароль логическое |
| Обновить пароль даже при отсутствии других изменений. Когда yes всегда приведёт к изменению при выполнении модуля. | ||
| имя_пользователя строка | Пользователь, от имени которого будет запускаться запланированная задача. По умолчанию используется текущий пользователь в интерактивном токене, если не указано при создании. Указанная учётная запись пользователя должна иметь право доступа SeBatchLogonRight для входа, которое можно добавить с помощью ansible.windows.win_user_right.псевдонимы: user | |||
| версия строка | Номер версии задачи. | |||
| разбудить_для_запуска логическое |
| Разбудить ли компьютер, когда пришло время запустить задачу. | ||
Примечания
Примечание
- Имена и структура параметров действий и триггеров службы соответствуют стандартной структуре
RegisteredTaskи требованиям. Рекомендуется ознакомиться с этим руководством при возникновении проблем https://msdn.microsoft.com/en-us/library/windows/desktop/aa382542.aspx. - Учётную запись службы с управляемым доступом (gMSA) можно использовать, задав
logon_typeвpasswordи опустив параметр пароля. Дополнительную информацию о gMSA см. в https://techcommunity.microsoft.com/t5/Core-Infrastructure-and-Security/Windows-Server-2012-Group-Managed-Service-Accounts/ba-p/255910
См. также
См. также
- community.windows.win_scheduled_task_stat
-
Официальная документация модуля community.windows.win_scheduled_task_stat.
- ansible.windows.win_user_right
-
Официальная документация модуля ansible.windows.win_user_right.
Примеры
- name: Create a task to open 2 command prompts as SYSTEM
community.windows.win_scheduled_task:
name: TaskName
description: open command prompt
actions:
- path: cmd.exe
arguments: /c hostname
- path: cmd.exe
arguments: /c whoami
triggers:
- type: daily
start_boundary: '2017-10-09T09:00:00'
username: SYSTEM
state: present
enabled: yes
- name: Create task to run a PS script as NETWORK service on boot
community.windows.win_scheduled_task:
name: TaskName2
description: Run a PowerShell script
actions:
- path: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
arguments: -ExecutionPolicy Unrestricted -NonInteractive -File C:\TestDir\Test.ps1
triggers:
- type: boot
username: NETWORK SERVICE
run_level: highest
state: present
- name: Update Local Security Policy to allow users to run scheduled tasks
ansible.windows.win_user_right:
name: SeBatchLogonRight
users:
- LocalUser
- DOMAIN\NetworkUser
action: add
- name: Change above task to run under a domain user account, storing the passwords
community.windows.win_scheduled_task:
name: TaskName2
username: DOMAIN\User
password: Password
logon_type: password
- name: Change the above task again, choosing not to store the password
community.windows.win_scheduled_task:
name: TaskName2
username: DOMAIN\User
logon_type: s4u
- name: Change above task to use a gMSA, where the password is managed automatically
community.windows.win_scheduled_task:
name: TaskName2
username: DOMAIN\gMsaSvcAcct$
logon_type: password
- name: Create task with multiple triggers
community.windows.win_scheduled_task:
name: TriggerTask
path: \Custom
actions:
- path: cmd.exe
triggers:
- type: daily
- type: monthlydow
username: SYSTEM
- name: Set logon type to password but don't force update the password
community.windows.win_scheduled_task:
name: TriggerTask
path: \Custom
actions:
- path: cmd.exe
username: Administrator
password: password
update_password: no
- name: Disable a task that already exists
community.windows.win_scheduled_task:
name: TaskToDisable
enabled: no
- name: Create a task that will be repeated every minute for five minutes
community.windows.win_scheduled_task:
name: RepeatedTask
description: open command prompt
actions:
- path: cmd.exe
arguments: /c hostname
triggers:
- type: registration
repetition:
interval: PT1M
duration: PT5M
stop_at_duration_end: yes
Авторы
- Peter Mounce (@petemounce)
- Jordan Borean (@jborean93)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/windows/win_scheduled_task_module.html