Spec-Zone.ru › Ansible 2.11

ansible.windows.win_service – Управление и запросы служб Windows

Примечание

Этот плагин входит в коллекцию ansible.windows (версия 1.3.0).

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

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

  • Описание
  • Параметры
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Описание

  • Управление и запросы служб Windows.
  • Для платформ, отличных от Windows, используйте модуль ansible.builtin.service вместо этого.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
dependencies
список / элементы=строка
Список зависимостей службы, которые необходимо установить для данной службы.
Это должен быть список имен служб, а не их отображаемых названий.
Это работает, dependency_action добавляя/удаляя или устанавливая службы в этом списке.
dependency_action
строка
    Варианты:
  • add
  • remove
  • set ←
Используется в сочетании с dependency для добавления зависимостей к существующим зависимостям службы.
Удаляет зависимости из существующих зависимостей.
Устанавливает зависимости только на значения в списке, заменяя существующие зависимости.
description
строка
Описание, которое необходимо установить для службы.
desktop_interact
булево
    Варианты:
  • нет ←
  • да
Разрешить ли пользователю службы взаимодействовать с рабочим столом.
Это можно установить только на yes при использовании имени пользователя LocalSystem.
Это можно установить только на yes когда service_type равен win32_own_process или win32_share_process.
display_name
строка
Отображаемое имя, которое необходимо установить для службы.
error_control
строка
    Варианты:
  • critical
  • ignore
  • normal
  • severe
Степень серьезности ошибки и действия в случае сбоя запуска службы.
Новая служба по умолчанию имеет значение normal.
critical будет регистрировать ошибку и перезагружать систему с последней известной рабочей конфигурацией. Если запуск не удается при перезагрузке, система не будет работать.
ignore игнорирует ошибку.
normal регистрирует ошибку в журнале событий, но продолжает работу.
severe подобно critical, но сбой при перезагрузке с последней известной рабочей конфигурацией будет проигнорирован.
failure_actions
список / элементы=словарь
Список действий, которые контроллер службы должен выполнять при каждом сбое службы.
Управляющая программа служб выполнит действия от первого до последнего, определенного, пока служба не запустится. Если failure_reset_period_sec превышен, действия при ошибке начнутся заново.
Если все действия выполнены, управляющая программа служб повторит последнее определенное действие службы.
Существующие действия будут заменены списком, определенным в задаче, если с ними есть несоответствие.
Установите пустой список, чтобы удалить все действия при сбое службы, в противном случае пропущенное или нулевое значение сохранит существующие действия для службы.
delay_ms
сырое
По умолчанию:
0
Время ожидания в миллисекундах перед выполнением указанного действия.

псевдонимы: delay
type
строка / обязательно
    Варианты:
  • none
  • reboot
  • restart
  • run_command
Выполняемое действие.
none не будет выполнять никаких действий, при использовании этого значения оно должно быть установлено только в качестве последнего действия.
reboot перезагрузит хост, при использовании этого значения оно должно быть установлено только в качестве последнего действия, так как перезагрузка сбросит список действий обратно к началу.
restart перезапустит службу.
run_command выполнит команду, указанную в failure_command.
failure_actions_on_non_crash_failure
булево
    Варианты:
  • нет
  • да
Определяет, будут ли выполняться действия при сбоях, не связанных с ошибками.
failure_command
строка
Команда для выполнения при действии run_command сбоя.
Установите пустую строку, чтобы удалить команду.
failure_reboot_msg
строка
Сообщение, которое будет транслироваться пользователям, подключенным к хосту, для действия при сбое reboot.
Установите пустую строку, чтобы удалить сообщение.
failure_reset_period_sec
сырое
Время в секундах, после которого список действий при сбое начнется заново, если сбоев не было.
Чтобы установить это значение, failure_actions должен иметь по крайней мере 1 действие.
Укажите '0xFFFFFFFF', чтобы установить бесконечный период сброса.

псевдонимы: failure_reset_period
force_dependent_services
булево
    Варианты:
  • нет ←
  • да
Если yes, остановка или перезапуск службы с зависимыми службами приведет к принудительной остановке или перезапуску зависимых служб также.
Если no, остановка или перезапуск службы с зависимыми службами может завершиться неудачей.
load_order_group
строка
Имя группы порядка загрузки, к которой принадлежит эта служба.
Укажите пустую строку, чтобы удалить существующую группу порядка загрузки службы.
name
строка / обязательно
Имя службы.
Если указан только параметр имени, модуль сообщит, существует ли служба или нет, без внесения каких-либо изменений.
password
строка
Пароль для запуска службы.
Это и параметр username должны быть указаны вместе при использовании локальной или доменной учетной записи.
Если пропущено, пароль продолжит использование существующего значения.
Если указано LocalSystem, NetworkService, LocalService, NT SERVICE, или gMSA, этот параметр можно опустить, так как у этих учетных записей нет пароля.
path
строка
Путь к исполняемому файлу для настройки службы.
pre_shutdown_timeout_ms
сырое
Время в миллисекундах, в течение которого управляющая программа служб ожидает после отправки уведомления о предстоящем завершении работы службе, прежде чем продолжить другие действия завершения работы.

псевдонимы: pre_shutdown_timeout
required_privileges
список / элементы=строка
Список привилегий, которые должна иметь служба при запуске.
При установке у службы будут только привилегии, указанные в ее марке доступа.
У имени пользователя службы должны быть уже назначены привилегии.
Существующие привилегии будут заменены списком, определенным в задаче, если с ними есть несоответствие.
Установите пустой список, чтобы удалить все требуемые привилегии, в противном случае пропущенное или нулевое значение сохранит существующие привилегии.
См. список констант текста привилегий для списка констант привилегий, которые можно использовать.
service_type
строка
    Варианты:
  • user_own_process
  • user_share_process
  • win32_own_process
  • win32_share_process
Тип службы.
Тип новой службы по умолчанию равен win32_own_process.
desktop_interact может быть установлен только если тип службы win32_own_process или win32_share_process.
sid_info
строка
    Варианты:
  • none
  • restricted
  • unrestricted
Используется для определения поведения групп маркера доступа службы.
none не добавит никаких групп в маркер.
restricted добавит SID NT SERVICE\<service name> в группы маркера доступа и ограниченные группы.
unrestricted добавит SID NT SERVICE\<service name> в группы маркера доступа.
start_mode
строка
    Варианты:
  • auto
  • delayed
  • disabled
  • manual
Установите тип запуска для службы.
Только что созданная служба по умолчанию будет auto.
state
строка
    Варианты:
  • absent
  • paused
  • started
  • stopped
  • restarted
Желаемое состояние службы.
started/stopped/absent/paused — идемпотентные действия, которые не будут запускать команды, если это не требуется.
restarted всегда переподключает службу.
Только службы, поддерживающие состояние приостановки, могут быть приостановлены, вы можете проверить возвращаемое значение can_pause_and_continue.
Вы можете приостановить службу, только если она уже запущена.
Только что созданная служба по умолчанию имеет значение stopped.
update_password
строка
    Варианты:
  • always
  • on_create
Если установлено значение always и password установлено, модуль всегда сообщит об изменении и установит пароль.
Установите значение on_create для установки пароля только в том случае, если модулю необходимо создать службу.
Если username был указан и служба изменилась на это имя пользователя, то password также будет изменён, если указан.
Текущее значение по умолчанию — on_create, но это поведение может измениться в будущем, поэтому лучше явно указывать здесь.
Имя пользователя
строка
Имя пользователя, от имени которого будет запускаться служба.
Также может быть установлено в LocalSystem или SYSTEM, чтобы использовать учетную запись SYSTEM.
Новая созданная служба по умолчанию будет работать от имени LocalSystem.
Если используется пользовательская учетная запись, она должна иметь право SeServiceLogonRight, чтобы иметь возможность запускать службы. Для этого можно использовать модуль ansible.windows.win_user_right.
Установите значение NT SERVICE\service name, чтобы служба запускалась от имени учетной записи NT SERVICE.
Это также может быть gMSA в формате DOMAIN\gMSA$.

Примечания

Примечание

  • Исторически этот модуль возвращал информацию о службе в своих значениях возврата. Следует избегать этого в пользу модуля ansible.windows.win_service_info.
  • Большинство параметров в этом модуле относятся к службам, не связанным с драйверами, которые можно просмотреть в SCManager. Хотя вы можете редактировать службы драйверов, не все функциональные возможности могут быть доступны.
  • Пользователь, запускающий модуль, должен иметь следующие права доступа к службе, чтобы использовать этот модуль: SERVICE_CHANGE_CONFIG, SERVICE_ENUMERATE_DEPENDENTS, SERVICE_QUERY_CONFIG, SERVICE_QUERY_STATUS.
  • Изменение состояния или удаление службы также потребует дополнительных прав в зависимости от необходимых действий.

См. также

См. также

ansible.builtin.service

Официальная документация модуля ansible.builtin.service.

community.windows.win_nssm

Официальная документация модуля community.windows.win_nssm.

ansible.windows.win_service_info

Официальная документация модуля ansible.windows.win_service_info.

ansible.windows.win_user_right

Официальная документация модуля ansible.windows.win_user_right.

Примеры

- name: Restart a service
  ansible.windows.win_service:
    name: spooler
    state: restarted

- name: Set service startup mode to auto and ensure it is started
  ansible.windows.win_service:
    name: spooler
    start_mode: auto
    state: started

- name: Pause a service
  ansible.windows.win_service:
    name: Netlogon
    state: paused

- name: Ensure that WinRM is started when the system has settled
  ansible.windows.win_service:
    name: WinRM
    start_mode: delayed

# A new service will also default to the following values:
# - username: LocalSystem
# - state: stopped
# - start_mode: auto
- name: Create a new service
  ansible.windows.win_service:
    name: service name
    path: C:\temp\test.exe

- name: Create a new service with extra details
  ansible.windows.win_service:
    name: service name
    path: C:\temp\test.exe
    display_name: Service Name
    description: A test service description

- name: Remove a service
  ansible.windows.win_service:
    name: service name
    state: absent

# This is required to be set for non-service accounts that need to run as a service
- name: Grant domain account the SeServiceLogonRight user right
  ansible.windows.win_user_right:
    name: SeServiceLogonRight
    users:
    - DOMAIN\User
    action: add

- name: Set the log on user to a domain account
  ansible.windows.win_service:
    name: service name
    state: restarted
    username: DOMAIN\User
    password: Password

- name: Set the log on user to a local account
  ansible.windows.win_service:
    name: service name
    state: restarted
    username: .\Administrator
    password: Password

- name: Set the log on user to Local System
  ansible.windows.win_service:
    name: service name
    state: restarted
    username: SYSTEM

- name: Set the log on user to Local System and allow it to interact with the desktop
  ansible.windows.win_service:
    name: service name
    state: restarted
    username: SYSTEM
    desktop_interact: yes

- name: Set the log on user to Network Service
  ansible.windows.win_service:
    name: service name
    state: restarted
    username: NT AUTHORITY\NetworkService

- name: Set the log on user to Local Service
  ansible.windows.win_service:
    name: service name
    state: restarted
    username: NT AUTHORITY\LocalService

- name: Set the log on user as the services' virtual account
  ansible.windows.win_service:
    name: service name
    username: NT SERVICE\service name

- name: Set the log on user as a gMSA
  ansible.windows.win_service:
    name: service name
    username: DOMAIN\gMSA$  # The end $ is important and should be set for all gMSA

- name: Set dependencies to ones only in the list
  ansible.windows.win_service:
    name: service name
    dependencies: [ service1, service2 ]

- name: Add dependencies to existing dependencies
  ansible.windows.win_service:
    name: service name
    dependencies: [ service1, service2 ]
    dependency_action: add

- name: Remove dependencies from existing dependencies
  ansible.windows.win_service:
    name: service name
    dependencies:
    - service1
    - service2
    dependency_action: remove

- name: Set required privileges for a service
  ansible.windows.win_service:
    name: service name
    username: NT SERVICE\LocalService
    required_privileges:
    - SeBackupPrivilege
    - SeRestorePrivilege

- name: Remove all required privileges for a service
  ansible.windows.win_service:
    name: service name
    username: NT SERVICE\LocalService
    required_privileges: []

- name: Set failure actions for a service with no reset period
  ansible.windows.win_service:
    name: service name
    failure_actions:
    - type: restart
    - type: run_command
      delay_ms: 1000
    - type: restart
      delay_ms: 5000
    - type: reboot
    failure_command: C:\Windows\System32\cmd.exe /c mkdir C:\temp
    failure_reboot_msg: Restarting host because service name has failed
    failure_reset_period_sec: '0xFFFFFFFF'

- name: Set only 1 failure action without a repeat of the last action
  ansible.windows.win_service:
    name: service name
    failure_actions:
    - type: restart
      delay_ms: 5000
    - type: none

- name: Remove failure action information
  ansible.windows.win_service:
    name: service name
    failure_actions: []
    failure_command: ''  # removes the existing command
    failure_reboot_msg: ''  # removes the existing reboot msg

Значения возврата

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

Ключ Возвращаемое значение Описание
can_pause_and_continue
булево
успех и служба существует
Можно ли приостановить и возобновить службу.

Пример:
True
depended_by
список / элементы=строка
успех и служба существует
Список служб, которые зависят от данной службы.

dependencies
список / элементы=строка
успех и служба существует
Список служб, от которых зависит данная служба.

description
строка
успех и служба существует
Описание службы.

Пример:
Управляет взаимодействием между компонентами системы.
desktop_interact
булево
успех и служба существует
Разрешено ли текущему пользователю взаимодействовать с рабочим столом.

display_name
строка
успех и служба существует
Имя отображения установленной службы.

Пример:
CoreMessaging
exists
булево
успех
Существует ли служба.

Пример:
True
name
строка
успех и служба существует
Имя или идентификатор службы.

Пример:
CoreMessagingRegistrar
path
строка
успех и служба существует
Путь к исполняемому файлу службы.

Пример:
C:\Windows\system32\svchost.exe -k LocalServiceNoNetwork
start_mode
строка
успех и служба существует
Тип запуска службы.

Пример:
manual
state
строка
успех и служба существует
Текущий статус работы службы.

Пример:
stopped
username
строка
успех и служба существует
Имя пользователя, от которого работает служба.

Пример:
LocalSystem


Авторы

  • Chris Hoffman (@chrishoffman)

© 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/ansible/windows/win_service_module.html

Spec-Zone.ru

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