win_scheduled_task - Управление запланированными задачами
Новая версия 2.0.
Описание
- Создаёт/изменяет или удаляет запланированные задачи Windows.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| actions (добавлено в 2.5) | Список действий для настройки задачи. Подробности о построении каждого элемента списка см. в подразделах. При создании задачи ДОЛЖНО быть как минимум одно действие, но при удалении задачи это может быть null или пустой список. Порядок в этом списке важен, модуль будет следить за сохранением порядка при изменении задачи. Этот модуль поддерживает только тип ExecAction, но все равно может удалять устаревшие типы. | ||
| path обязательно | Путь к исполняемому файлу для ExecAction. | ||
| arguments | Строка аргументов для исполняемого файла. | ||
| working_directory | Рабочая директория для запуска исполняемого файла. | ||
| allow_demand_start bool (добавлено в 2.5) |
| Можно ли запустить задачу с помощью команды «Запуск» или контекстного меню. | |
| allow_hard_terminate bool (добавлено в 2.5) |
| Можно ли завершить задачу с помощью TerminateProcess. | |
| arguments | Аргументы для действия запланированной задачи. УСТАРЕЛО с 2.5, используйте вместо этого параметр actions, чтобы указать список действий для запуска.Будет удалено в 2.7. псевдонимы: argument | ||
| author (добавлено в 2.5) | Автор задачи. | ||
| compatibility (добавлено в 2.5) |
| Целочисленное значение, указывающее, с какой версией Планировщика задач совместима задача. 0 означает, что задача совместима с командой AT.1 означает, что задача совместима с Планировщиком задач 1.0.2 означает, что задача совместима с Планировщиком задач 2.0. | |
| date (добавлено в 2.5) | Дата регистрации задачи. | ||
| days_of_week | Дни недели для запуска еженедельной задачи. Укажите список или дни через запятую в полном виде, например, понедельник вместо пн. УСТАРЕЛО с 2.5, используйте список параметров triggers с типом monthlydow или weekly. Будет удалено в 2.7. | ||
| delete_expired_task_after (добавлено в 2.5) | Время, которое Планировщик задач будет ждать перед удалением задачи после истечения срока действия. Задача истекает после превышения конечного значения для всех триггеров, связанных с задачей. Формат ISO 8601 для продолжительности P[n]Y[n]M[n]DT[n]H[n]M[n]S. | ||
| description (добавлено в 2.5) | Описание задачи. | ||
| disallow_start_if_on_batteries bool (добавлено в 2.5) |
| Задача не будет запущена, если компьютер работает от батареи. | |
| display_name (добавлено в 2.5) | Имя пользователя/группы, отображаемое в пользовательском интерфейсе Планировщика задач. | ||
| enabled bool (добавлено в 2.5) |
| Задача включена, задача может запускаться только когда yes. | |
| executable | Путь к исполняемому файлу для выполнения действия запланированной задачи. УСТАРЕЛО с 2.5, используйте вместо этого параметр actions, чтобы указать список действий для запуска.Будет удалено в 2.7. | ||
| execution_time_limit (добавлено в 2.5) | Время, отведенное на выполнение задачи. Если не задано, предел времени бесконечен. Формат ISO 8601 для продолжительности P[n]Y[n]M[n]DT[n]H[n]M[n]S. | ||
| frequency |
| Частота выполнения задачи. УСТАРЕЛО с 2.5, используйте список параметров triggers и укажите тип в зависимости от необходимой частоты.Будет удалено в 2.7. | |
| group (добавлено в 2.5) | Группа, которая будет выполнять задачу. group и username являются взаимоисключающими и не могут быть установлены одновременно.logon_type может быть не задано или равно group. | ||
| hidden bool (добавлено в 2.5) |
| Задача будет скрыта в пользовательском интерфейсе. | |
| logon_type (добавлено в 2.5) |
| Метод входа, с которым будет выполняться задача. password означает, что пароль будет сохранён, и задача имеет доступ к сетевым ресурсам.s4u означает, что существующий токен будет использован для выполнения задачи, и пароль с задачей не будет сохранён. Это означает, что нет доступа к сети или зашифрованным файлам.interactive_token означает, что пользователь должен быть уже интерактивно подключён и будет работать в существующей интерактивной сессии.group означает, что задача будет выполняться от имени группы.service_account означает, что задачу будет выполнять учётная запись службы, например, System, Local Service или Network Service. | |
| multiple_instances (добавлено в 2.5) |
| Целое число, указывающее поведение при запуске задачи, которая уже выполняется. 0 запустит новую инстанцию параллельно с существующими экземплярами этой задачи.1 будет ждать завершения других инстанций этой задачи перед запуском себя.2 не запустит новую инстанцию, если другая уже запущена.3 остановит другие инстанции задачи и запустит новую. | |
| name обязательно | Имя запланированной задачи без пути. | ||
| password (добавлено в 2.4) | Пароль для учётной записи пользователя, от имени которой будет выполняться запланированная задача. Требуется при запуске задачи без входа пользователя, за исключением встроенных учётных записей служб. Если задано, всегда приведёт к изменению, если update_password установлено в no, и другие изменения для службы не нужны. | ||
| path | По умолчанию: "\\" | Папка задач, в которой будет храниться эта задача. Создаст папку, когда state=present, и папка еще не существует.Удалит папку, когда state=absent, и в папке не осталось задач. | |
| priority (добавлено в 2.5) | Уровень приоритета задачи (0-10). При создании новой задачи значение по умолчанию — 7.Подробности о уровнях приоритета см. на странице https://msdn.microsoft.com/en-us/library/windows/desktop/aa383512.aspx. | ||
| restart_count (добавлено в 2.5) | Количество попыток перезапуска задачи Планировщиком задач. | ||
| restart_interval (добавлено в 2.5) | Время, в течение которого Планировщик задач будет пытаться перезапустить задачу. Если этот параметр задан, то restart_count также должен быть задан.Максимальное разрешенное время — 31 день. Минимальное разрешенное время — 1 минута. Формат ISO 8601 для продолжительности P[n]Y[n]M[n]DT[n]H[n]M[n]S. | ||
| run_level (добавлено в 2.4) |
| Уровень прав пользователя, используемых для выполнения задачи. Если не указан, задача будет создана с ограниченными правами. псевдонимы: runlevel | |
| run_only_if_idle bool (добавлено в 2.5) |
| Задача будет выполняться только если компьютер находится в состоянии простоя. | |
| run_only_if_network_available bool (added in 2.5) |
| Будет ли задача запускаться только при наличии сети. | |
| source (added in 2.5) | Источник задачи. | ||
| start_when_available bool (added in 2.5) |
| Можно ли задаче начать в любое время после истечения запланированного времени. | |
| state |
| Когда state=present, задача гарантирует, что задача существует.Когда state=absent, гарантирует, что задача не существует. | |
| stop_if_going_on_batteries bool (added in 2.5) |
| Будет ли задача остановлена, если компьютер начнёт работать от батареи. | |
| store_password bool (added in 2.4) |
| Сохранять ли пароль пользователя, выполняющего задачу. Если no, задача будет иметь доступ только к локальным ресурсам.УСТАРЕЛО с версии 2.5, используйте logon_type=password, чтобы задать, сохранять ли пароль для задачи.Будет удалено в версии 2.7. | |
| time | Время начала выполнения запланированной задачи. УСТАРЕЛО с версии 2.5, используйте triggers список опций и start_boundary опцию для установки времени начала.Будет удалено в версии 2.7. | ||
| triggers (added in 2.5) | Список триггеров для конфигурации задачи. См. подварианты для получения подробной информации о создании каждой записи списка. Порядок этого списка важен, модуль гарантирует сохранение порядка при изменении задачи. Существует несколько типов триггеров, см. https://msdn.microsoft.com/en-us/library/windows/desktop/aa383868.aspx для списка типов триггеров и их опций. Ниже перечисленные подварианты не требуются для всех типов триггеров, прочитайте описание для получения более подробной информации. | ||
| type required |
| Тип триггера, это значение управляет тем, какие ниже опции являются обязательными. | |
| enabled bool |
| Включить или отключить триггер Используется во всех типах триггеров. | |
| start_boundary | Время начала задачи, даже если триггер удовлетворяет другим критериям начала, он не запустится, пока не будет выполнено это время. Если вы хотите запустить задачу в 9 утра в определенный день, вам все равно нужно указать дату, когда триггер активируется. Вы можете установить любую дату, даже прошлую. Требуется, когда type равно daily, monthlydow, monthly, time, weekly, (session_state_change).Необязательно для остальных типов триггеров. Формат ISO 8601 DateTime YYYY-MM-DDThh:mm:ss. | ||
| end_boundary | Время завершения деактивации триггера. Формат ISO 8601 DateTime YYYY-MM-DDThh:mm:ss. | ||
| execution_time_limit | Максимальное время выполнения задачи. Необязательно для всех типов триггеров. Формат ISO 8601 Duration P[n]Y[n]M[n]DT[n]H[n]M[n]S. | ||
| delay | Время задержки запуска задачи после срабатывания триггера. Необязательно, когда type равно boot, event, logon, registration, session_state_change. Формат ISO 8601 Duration P[n]Y[n]M[n]DT[n]H[n]M[n]S. | ||
| random_delay | Время задержки, случайным образом добавляемое к времени запуска триггера. Необязательно, когда type равно daily, monthlydow, monthly, time, weekly. Формат ISO 8601 Duration P[n]Y[n]M[n]DT[n]H[n]M[n]S. | ||
| subscription | Используется только для type=event. XML-строка запроса, определяющая событие, которое срабатывает триггер. | ||
| user_id | Имя пользователя, на которого будет нацелен триггер. Необязательно, когда type равно logon, session_state_change. Может быть именем пользователя или SID. Когда type=logon, и вы хотите, чтобы триггер срабатывал при входе пользователя в группу, оставьте это значение пустым и установите group в группу, которую хотите задействовать. | ||
| days_of_week | Дни недели для триггера. Может быть списком или строкой через запятую с полными именами дней, например, monday вместо mon. Требуется, когда type равно weekly, type=session_state_change. Необязательно, когда type=monthlydow. | ||
| days_of_month | Дни месяца от 1 до 31 для триггеров. Если вы хотите установить триггер на последний день месяца, используйте run_on_last_day_of_month. Может быть списком или строкой через запятую с номерами дней. Требуется, когда type=monthly. | ||
| weeks_of_month | Недели месяца для триггера. Может быть списком или строкой через запятую с числами от 1 до 4, представляющими первую-четвертую недели месяца. Необязательно, когда type=monthlydow. | ||
| months_of_year | Месяцы года для триггера. Может быть списком или строкой через запятую с полными именами месяцев, например, march вместо mar. Необязательно, когда type равно monthlydow, monthly. | ||
| run_on_last_week_of_month bool |
| Логическое значение, устанавливающее, выполняется ли задача в последнюю неделю месяца. Необязательно, когда type равно monthlydow. | |
| run_on_last_day_of_month bool |
| Логическое значение, устанавливающее, выполняется ли задача в последний день месяца. Необязательно, когда type равно monthly. | |
| weeks_interval | Интервал недель для запуска, например, 1 означает каждую неделю, а 2 — через неделю.Необязательно, когда type=weekly. | ||
| repetition | Позволяет определить повторяющееся действие триггера, определяющее, как часто запускается задача и как долго повторяется шаблон повторения после запуска задачи. Принимает следующие ключи: duration, interval, stop_at_duration_end. duration — это длительность повторения шаблона и записывается в формате ISO 8601 Duration P[n]Y[n]M[n]DT[n]H[n]M[n]S. interval — это время между каждым перезапуском задачи и записывается в формате ISO 8601 Duration P[n]Y[n]M[n]DT[n]H[n]M[n]S. stop_at_duration_end — логическое значение, указывающее, останавливается ли запущенный экземпляр задачи в конце шаблона повторения. | ||
| update_password bool (added in 2.5) |
| Обновить пароль, даже если не произошло других изменений. Когда yes всегда приведет к изменению при выполнении модуля. | |
| username | Пользователь, от имени которого будет выполняться запланированная задача. По умолчанию используется текущий пользователь при интерактивном токене, если не указано при создании. псевдонимы: user | ||
| version (added in 2.5) | Номер версии задачи. | ||
| wake_to_run bool (added in 2.5) |
| Будет ли задача разбуживать компьютер, когда придёт время запуска задачи. | |
Примечания
Примечание
- В Ansible 2.4 и более ранних версиях это можно было запускать только на Server 2012/Windows 8 или более новых версиях. С версии 2.5 это ограничение снято.
- Имена и структура параметров для действий и триггеров службы следуют стандарту и требованиям именования
RegisteredTask, будет полезно ознакомиться с этим руководством, если возникнут проблемы https://msdn.microsoft.com/ru-ru/library/windows/desktop/aa382542.aspx.
Примеры
- name: create a task to open 2 command prompts as SYSTEM
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
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: change above task to run under a domain user account, storing the passwords
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
win_scheduled_task:
name: TaskName2
username: DOMAIN\User
logon_type: s4u
- name: create task with multiple triggers
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
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
win_scheduled_task:
name: TaskToDisable
enabled: no
- name: create a task that will be repeated every minute for five minutes
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
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантирует обратной совместимости.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. Подробности см. в Поддержка и техническое обслуживание модулей.
Список других модулей, также поддерживаемых сообществом Ansible, см. в здесь.
Автор
- 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.6/modules/win_scheduled_task_module.html