Spec-Zone.ru › Ansible

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

Примечание

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

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

Чтобы установить её, используйте: ansible-galaxy collection install community.windows.

Чтобы использовать её в плейбуке, укажите: community.windows.win_scheduled_task.

  • Краткое описание
  • Параметры
  • Примечания
  • См. также
  • Примеры

Краткое описание

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

Параметры

Параметр

Комментарии

actions

list / elements=dictionary

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

Сведения о создании каждой записи списка см. в подразделах.

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

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

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

arguments

string

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

path

string / обязательно

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

working_directory

string

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

allow_demand_start

boolean

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

Варианты:

  • false
  • true

allow_hard_terminate

boolean

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

Варианты:

  • false
  • true

author

string

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

compatibility

integer

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

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

string

Дата регистрации задачи.

delete_expired_task_after

string

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

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

Значение задается в формате длительности ISO 8601 P[n]Y[n]M[n]DT[n]H[n]M[n]S.

description

string

Описание задачи.

disallow_start_if_on_batteries

boolean

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

Варианты:

  • false
  • true

display_name

string

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

enabled

boolean

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

Варианты:

  • false
  • true

execution_time_limit

string

Время, отведенное на выполнение задачи.

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

Если параметр не указан, по умолчанию устанавливается ограничение в 72 часа.

Значение задается в формате длительности ISO 8601 P[n]Y[n]M[n]DT[n]H[n]M[n]S.

group

string

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

Параметры group и username взаимоисключающие и не могут быть заданы одновременно.

Значение logon_type может быть не задано или должно быть равно group.

hidden

boolean

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

Варианты:

  • false
  • true

logon_type

string

Способ входа в систему, используемый для запуска задачи.

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 / обязательно

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

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

псевдонимы: 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 P[n]Y[n]M[n]DT[n]H[n]M[n]S.

enabled

boolean

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

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

Варианты:

  • false
  • true

end_boundary

string

Время окончания действия триггера.

Значение задается в формате даты и времени ISO 8601 YYYY-MM-DDThh:mm:ss.

execution_time_limit

string

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

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

Значение задается в формате длительности ISO 8601 P[n]Y[n]M[n]DT[n]H[n]M[n]S.

months_of_year

string

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

Можно указать список или строку с полными названиями месяцев, разделенными запятыми, например march вместо mar.

Необязательно, если type имеет значение monthlydow, monthly.

random_delay

string

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

Необязательно, если type имеет значение daily, monthlydow, monthly, time, weekly.

Значение задается в формате длительности ISO 8601 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 P[n]Y[n]M[n]DT[n]H[n]M[n]S.

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

interval

string

Интервал времени между перезапусками задачи.

Значение задается в формате длительности ISO 8601 P[n]Y[n]M[n]DT[n]H[n]M[n]S.

stop_at_duration_end

boolean

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

Варианты:

  • false
  • true

run_on_last_day_of_month

boolean

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

Необязательно, если type имеет значение monthly.

Варианты:

  • false
  • true

run_on_last_week_of_month

boolean

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

Необязательно, если type имеет значение monthlydow.

Варианты:

  • false
  • true

start_boundary

string

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

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

Обязательно, если type имеет значение daily, monthlydow, monthly, time, weekly.

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

Значение задается в формате даты и времени ISO 8601 YYYY-MM-DDThh:mm:ss.

state_change

string

добавлено в community.windows 1.6.0

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

Необязательно, если type=session_state_change

Варианты:

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

subscription

string

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

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

type

string / обязательно

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

Варианты:

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

user_id

string

Имя пользователя, для которого предназначен триггер.

Необязательно, если type имеет значение logon, session_state_change.

Можно указать имя пользователя или его SID.

Если используется type=logon и требуется запускать триггер при входе пользователя из группы, оставьте это значение пустым и задайте в 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–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/windows/win_scheduled_task_module.html

Spec-Zone.ru

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