Spec-Zone.ru › Ansible

Модуль community.windows.win_scheduled_task – Управление запланированными задачами

Примечание

Этот модуль входит в коллекцию community.windows (версия 2.3.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.windows.

Для использования в плейбуке укажите: community.windows.win_scheduled_task.

  • Обзор
  • Параметры
  • Примечания
  • См. также
  • Примеры

Обзор

  • Создаёт/модифицирует или удаляет запланированные задачи Windows.

Параметры

Параметр

Комментарии

actions

список / элементы=словарь

Список действий для конфигурации задачи.

См. подварианты для получения подробностей о построении каждого элемента списка.

При создании задачи ОДНОЗНАЧНО должен быть хотя бы один элемент, но при удалении задачи это может быть нулевым или пустым списком.

Порядок элементов этого списка важен, модуль будет следить за сохранением порядка при изменении задачи.

Этот модуль поддерживает только тип ExecAction, но всё ещё может удалять устаревшие типы.

arguments

строка

Строка аргументов для исполняемого файла.

path

строка / обязательно

Путь к исполняемому файлу для ExecAction.

working_directory

строка

Рабочая директория для запуска исполняемого файла.

allow_demand_start

булево

Возможность запуска задачи с помощью команды «Запуск» или контекстного меню.

Варианты:

  • false
  • true

allow_hard_terminate

булево

Возможность завершения задачи с помощью TerminateProcess.

Варианты:

  • false
  • true

author

строка

Автор задачи.

compatibility

целое число

Целое значение, указывающее, с какой версией Планировщика задач совместима задача.

0 означает, что задача совместима с командой AT.

1 означает, что задача совместима с Планировщиком задач 1.0 (Windows Vista, Windows Server 2008 и более старые).

2 означает, что задача совместима с Планировщиком задач 2.0 (Windows Vista, Windows Server 2008).

3 означает, что задача совместима с Планировщиком задач 2.0 (Windows 7, Windows Server 2008 R2).

4 означает, что задача совместима с Планировщиком задач 2.0 (Windows 10, Windows Server 2016, Windows Server 2019).

Варианты:

  • 0
  • 1
  • 2
  • 3
  • 4

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

булево

Запрет запуска задачи, если компьютер работает от батареи.

Варианты:

  • false
  • true

display_name

строка

Имя пользователя/группы, отображаемое в пользовательском интерфейсе Планировщика задач.

enabled

булево

Включена ли задача, задача может выполняться только при yes.

Варианты:

  • false
  • true

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

булево

Скрыть задачу в пользовательском интерфейсе.

Варианты:

  • false
  • true

logon_type

строка

Метод входа в систему для запуска задачи.

password означает, что пароль будет сохранён, и задача имеет доступ к сетевым ресурсам.

s4u означает, что будет использован существующий токен для запуска задачи и пароль не будет сохранён с задачей. Это означает отсутствие доступа к сети или зашифрованным файлам.

interactive_token означает, что пользователь должен быть уже подключён интерактивно и будет запущен в существующей интерактивной сессии.

group означает, что задача будет запущена как группа.

service_account означает, что задача будет запущена от учётной записи службы, например System, Local Service или Network Service.

Варианты:

  • "none"
  • "password"
  • "s4u"
  • "interactive_token"
  • "group"
  • "service_account"
  • "token_or_password"

multiple_instances

integer

Целое число, указывающее поведение при запуске задачи, которая уже выполняется.

0 запустит новый экземпляр параллельно с существующими экземплярами этой задачи.

1 будет ждать, пока другие экземпляры этой задачи не завершат выполнение, прежде чем запуститься.

2 не запустит новый экземпляр, если другой уже выполняется.

3 остановит другие экземпляры задачи и запустит новый.

Варианты:

  • 0
  • 1
  • 2
  • 3

name

string / required

Имя запланированной задачи без пути.

password

string

Пароль для учетной записи пользователя, от имени которой будет запущена запланированная задача.

Это необходимо при запуске задачи без входа пользователя, за исключением встроенных учетных записей служб и управляемых группой учетных записей служб (gMSA).

Если установлено, всегда приведет к изменению, если только update_password не установлен в no и не требуется никаких других изменений для службы.

path

string

Папка задач, в которой будет храниться эта задача.

Создаст папку, когда state=present и папка еще не существует.

Удалить папку, когда state=absent и в папке не осталось задач.

Значение по умолчанию: "\\"

priority

integer

Уровень приоритета (0-10) задачи.

При создании новой задачи значение по умолчанию — 7.

См. https://msdn.microsoft.com/en-us/library/windows/desktop/aa383512.aspx для получения подробных сведений об уровнях приоритета.

restart_count

integer

Количество попыток перезапуска задачи планировщиком заданий.

restart_interval

string

Как долго планировщик заданий будет пытаться перезапустить задачу.

Если это установлено, то restart_count также должно быть установлено.

Максимальное допустимое время — 31 день.

Минимальное допустимое время — 1 минута.

Это в формате продолжительности ISO 8601 P[n]Y[n]M[n]DT[n]H[n]M[n]S.

run_level

aliases: runlevel

string

Уровень прав пользователя, используемых для запуска задачи.

Если не указано, задача будет создана с ограниченными правами.

Варианты:

  • "limited"
  • "highest"

run_only_if_idle

boolean

Запускать ли задачу только в том случае, если компьютер находится в состоянии простоя.

Варианты:

  • false
  • true

run_only_if_network_available

boolean

Запускать ли задачу только при наличии сети.

Варианты:

  • false
  • true

source

string

Источник задачи.

start_when_available

boolean

Может ли задача запускаться в любое время после истечения запланированного времени.

Варианты:

  • false
  • true

state

string

Когда state=present гарантирует существование задачи.

Когда state=absent гарантирует, что задача не существует.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

stop_if_going_on_batteries

boolean

Следует ли останавливать задачу, если компьютер начинает работать от батареи.

Варианты:

  • false
  • true

triggers

list / elements=dictionary

Список триггеров для настройки задачи.

См. дополнительные параметры, чтобы узнать, как построить каждую запись списка.

Порядок этого списка важен, модуль обеспечит сохранение порядка при изменении задачи.

Существует несколько типов триггеров, см. https://msdn.microsoft.com/en-us/library/windows/desktop/aa383868.aspx для списка типов триггеров и их параметров.

Перечисленные ниже параметры дополнительных параметров не являются обязательными для всех типов триггеров, прочитайте описание для получения более подробной информации.

days_of_month

string

Дни месяца с 1 по 31 для триггеров.

Если вы хотите установить триггер на последний день любого месяца, используйте run_on_last_day_of_month.

Может быть списком или строкой, разделенной запятыми, номеров дней.

Требуется, когда type=monthly.

days_of_week

string

Дни недели для триггера.

Может быть списком или строкой, разделенной запятыми, полных названий дней, например, monday вместо mon.

Требуется, когда type равно weekly.

Необязательно, когда type=monthlydow.

delay

string

Время задержки запуска задачи после срабатывания триггера.

Необязательно, когда type есть boot, event, logon, registration, session_state_change.

В формате ISO 8601 Duration P[n]Y[n]M[n]DT[n]H[n]M[n]S.

enabled

boolean

Включить или отключить триггер

Используется во всех типах триггеров.

Choices:

  • false
  • true

end_boundary

string

Конечное время деактивации триггера.

В формате ISO 8601 DateTime YYYY-MM-DDThh:mm:ss.

execution_time_limit

string

Максимальное время выполнения задачи.

Необязательно для всех типов триггеров.

В формате ISO 8601 Duration P[n]Y[n]M[n]DT[n]H[n]M[n]S.

months_of_year

string

Месяцы года для триггера.

Может быть списком или строкой, разделённой запятыми, полных названий месяцев, например, март вместо мар.

Необязательно, когда type есть monthlydow, monthly.

random_delay

string

Время задержки, которое случайным образом добавляется к времени запуска триггера.

Необязательно, когда type есть daily, monthlydow, monthly, time, weekly.

В формате ISO 8601 Duration P[n]Y[n]M[n]DT[n]H[n]M[n]S.

repetition

string

Позволяет определить действие повторения триггера, которое определяет, как часто запускается задача и как долго повторяется шаблон повторения после запуска задачи.

Он принимает следующие ключи: duration, interval, stop_at_duration_end

duration

string

Определяет, как долго повторяется шаблон.

Значение указано в формате ISO 8601 Duration P[n]Y[n]M[n]DT[n]H[n]M[n]S.

По умолчанию это не установлено, что означает бесконечное повторение.

interval

string

Время между каждым перезапуском задачи.

Значение указано в формате ISO 8601 Duration P[n]Y[n]M[n]DT[n]H[n]M[n]S.

stop_at_duration_end

boolean

Останавливать ли запущенный экземпляр задачи в конце шаблона повторения.

Choices:

  • false
  • true

run_on_last_day_of-month

boolean

Логическое значение, определяющее, запускается ли задача в последний день месяца.

Необязательно, когда type есть monthly.

Choices:

  • false
  • true

run_on_last_week_of_month

boolean

Логическое значение, определяющее, запускается ли задача на последней неделе месяца.

Необязательно, когда type есть monthlydow.

Choices:

  • false
  • true

start_boundary

string

Время начала задачи. Даже если триггер удовлетворяет другим критериям запуска, он не начнётся, пока не будет выполнено это условие.

Если вы хотите запустить задачу в 9 утра в какой-то день, вам всё равно нужно указать дату активации триггера. Вы можете указать любую дату, даже прошедшие.

Обязательно, когда type есть daily, monthlydow, monthly, time, weekly.

Необязательно для остальных типов триггеров.

В формате ISO 8601 DateTime YYYY-MM-DDThh:mm:ss.

state_change

string

added in community.windows 1.6.0

Позволяет определить тип изменения сессии терминального сервера, который запускает задачу.

Необязательно, когда type=session_state_change

Choices:

  • "console_connect"
  • "console_disconnect"
  • "remote_connect"
  • "remote_disconnect"
  • "session_lock"
  • "session_unlock"

subscription

string

Используется только и обязательно для type=event.

Строка запроса XML, которая определяет событие, запускающее триггер.

type

string / required

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

Choices:

  • "boot"
  • "daily"
  • "event"
  • "idle"
  • "logon"
  • "monthlydow"
  • "monthly"
  • "registration"
  • "time"
  • "weekly"
  • "session_state_change"

user_id

string

Имя пользователя, на который будет нацелен триггер.

Необязательно, когда type logon, session_state_change.

Может быть именем пользователя или SID.

Когда type=logon и требуется, чтобы триггер срабатывал при входе пользователя в группу, оставьте это значение как null и задайте group для нужной группы.

weeks_interval

integer

Интервал недель для запуска, например, 1 означает каждую неделю, а 2 означает через неделю.

Необязательно, когда type=weekly.

weeks_of_month

string

Недели месяца для триггера.

Может быть списком или строкой через запятую чисел от 1 до 4, представляющих первую по четвёртую недели месяца.

Необязательно, когда type=monthlydow.

update_password

boolean

Обновлять ли пароль, даже если не произошло других изменений.

Когда yes всегда приведёт к изменению при выполнении модуля.

Варианты:

  • false
  • true ← (по умолчанию)

username

алиасы: user

string

Пользователь, от имени которого будет выполняться запланированная задача.

По умолчанию используется текущий пользователь в интерактивном токени, если не указано при создании.

Указанный учётная запись пользователя должна иметь право SeBatchLogonRight входа, которое может быть добавлено с помощью ansible.windows.win_user_right.

version

string

Номер версии задачи.

wake_to_run

boolean

Будет ли задача разбуживать компьютер, когда придёт время запуска.

Варианты:

  • false
  • true

Примечания

Примечание

  • Имена параметров и структура действий и триггеров службы следуют стандарту именования 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

Получить информацию о запланированных задачах Windows.

ansible.windows.win_user_right

Управление правами пользователей Windows.

Примеры

- 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: true

- 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: false

- name: Disable a task that already exists
  community.windows.win_scheduled_task:
    name: TaskToDisable
    enabled: false

- 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: true

- name: Create task to run a PS script in Windows 10 compatibility on boot with a delay of 1min
  community.windows.win_scheduled_task:
    name: TriggerTask
    path: \Custom
    actions:
      - path: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
        arguments: -ExecutionPolicy Unrestricted -NonInteractive -File C:\TestDir\Test.ps1
    triggers:
      - type: boot
        delay: PT1M
    username: SYSTEM
    compatibility: 4

Авторы

  • Peter Mounce (@petemounce)
  • Jordan Borean (@jborean93)

Ссылки на коллекцию

  • Отслеживание задач
  • Репозиторий (источники)
  • Общение

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/windows/win_scheduled_task_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API