community.windows.win_scheduled_task – Управление запланированными задачами
Примечание
Этот плагин входит в состав коллекции community.windows (версия 1.2.0).
Для его установки используйте: ansible-galaxy collection install community.windows.
Чтобы использовать его в плейбуке, укажите: community.windows.win_scheduled_task.
Обзор
- Создает/модифицирует или удаляет запланированные задачи Windows.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| actions список / элементы=строка | Список действий для настройки задачи. См. подварианты для получения подробной информации о построении каждого элемента списка. При создании задачи ОБЯЗАТЕЛЬНО должен быть хотя бы один элемент действия, но при удалении задачи это может быть пустой или нулевой список. Порядок этого списка важен; модуль гарантирует сохранение порядка при изменении задачи. Этот модуль поддерживает только тип 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, идентифицирующая событие, которое запускает триггер. | |||
| тип строка / обязательно |
| Тип триггера, это значение контролирует, какие нижеперечисленные параметры являются обязательными. | ||
| идентификатор_пользователя строка | Имя пользователя, на который будет нацелен триггер. Необязательно, когда 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/windows/win_scheduled_task_module.html