Spec-Zone.ru › Ansible

Модуль microsoft.ad.computer — управление объектами компьютеров Active Directory

Примечание

Этот модуль входит в коллекцию microsoft.ad (версия 1.10.0).

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

Для установки используйте: ansible-galaxy collection install microsoft.ad. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: microsoft.ad.computer.

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

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

  • Управляет объектами компьютеров Active Directory и их атрибутами.

Требования

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

  • ActiveDirectory модуль PowerShell

Параметры

Параметр

Комментарии

attributes

dictionary

Атрибуты, которые нужно добавить в объект AD, удалить из него или задать.

Значение каждого параметра атрибутов должно быть словарём, где ключ — это атрибут LDAP, например firstName, comment, а значение — одно или несколько значений, задаваемых для этого атрибута.

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

Значением также может быть словарь с ключом type, равным bytes, date_time, security_descriptor или raw, и значением этой записи под ключом value.

Для типа bytes задаётся значение в виде строки с исходными байтами, закодированными в Base64.

Для типа date_time задаётся значение в виде строки даты и времени в формате ISO 8601. Дата и время будут заданы как целое число Microsoft FILETIME — количество интервалов по 100 наносекунд с 1601-01-01 в формате UTC.

Для типа security_descriptor задаётся строка Security Descriptor Definition Language (SDDL), используемая для атрибута nTSecurityDescriptor.

Для типа raw задаётся целое число, строка или логическое значение.

Строковые значения атрибутов сравниваются с учётом регистра с соответствующим объектом AD.

Дополнительные сведения см. в разделе Справка по атрибутам LDAP.

По умолчанию: {}

add

dictionary

Словарь всех атрибутов и их значений, которые нужно добавить в управляемый объект AD, если их там ещё нет.

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

По умолчанию: {}

remove

dictionary

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

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

По умолчанию: {}

set

dictionary

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

Все существующие значения, отличающиеся от запрошенных, будут заменены.

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

Укажите null или пустой список, чтобы очистить все значения атрибута.

По умолчанию: {}

delegates

псевдонимы: principals_allowed_to_delegate

dictionary

Объекты субъектов безопасности, которым текущий объект AD может доверять при делегировании: их можно добавить, удалить или задать.

Значение каждого подчинённого ключа — это список значений в виде строки distinguishedName, objectGUID, objectSid, sAMAccountName или userPrincipalName либо словарь с ключом name и необязательным ключом server.

Это значение задаётся для атрибута LDAP msDS-AllowedToActOnBehalfOfOtherIdentity.

Этот атрибут имеет критически важное значение для безопасности: он позволяет указанным субъектам безопасности выдавать себя за любую учётную запись при аутентификации с управляемым объектом компьютера AD.

Чтобы удалить все субъекты безопасности, используйте set с пустым списком.

Дополнительные сведения о поиске DN см. в разделе Атрибуты поиска DN.

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

add

list / elements=any

Добавляет указанные субъекты безопасности в список субъектов, которым разрешено делегирование.

Все существующие субъекты безопасности, не указанные в add, останутся без изменений, если они не указаны в remove или отсутствуют в set.

lookup_failure_action

string

Определяет действие при сбое поиска DN.

Значение fail приведёт к сбою задачи.

Значение ignore приведёт к игнорированию значения и продолжению выполнения.

Значение warn приведёт к игнорированию значения и отображению предупреждения.

Варианты:

  • "fail" ← (по умолчанию)
  • "ignore"
  • "warn"

remove

list / elements=any

Удаляет указанные субъекты безопасности из списка субъектов, которым разрешено делегирование.

Все существующие субъекты безопасности, не указанные в remove, останутся без изменений, если не задан параметр set.

set

list / elements=any

Задаёт указанных субъектов безопасности как субъектов, которым разрешено делегирование.

Все существующие субъекты безопасности, не указанные в этом списке, будут удалены.

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

description

string

Описание, задаваемое для объекта AD.

Это значение задаётся для атрибута LDAP description.

display_name

string

Отображаемое имя, задаваемое для объекта AD.

Это значение атрибута LDAP displayName.

dns_hostname

string

Указывает полное доменное имя (FQDN) компьютера.

Это значение задаётся для атрибута LDAP dNSHostName.

do_not_append_dollar_to_sam

boolean

добавлено в microsoft.ad 1.7.0

Не добавлять автоматически $ к значению sam_account_name.

Применяется только в том случае, если sam_account_name задан явно; этот параметр позволяет создать учётную запись компьютера без суффикса $.

Варианты:

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

domain_credentials

list / elements=dictionary

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

Чтобы указать учётные данные для сервера домена по умолчанию, используйте запись без ключа name либо параметры domain_username и domain_password.

Этот параметр можно задать в значениях модуля по умолчанию для плейбука в группе group/microsoft.ad.domain.

Дополнительные сведения см. в разделе Аутентификация AD в модулях.

По умолчанию: []

name

string

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

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

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

password

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

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

username

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

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

domain_password

string

Пароль для domain_username.

Для указания учётных данных аутентификации домена по умолчанию также можно использовать вложенную запись domain_credentials без ключа name.

Этот параметр можно задать в значениях модуля по умолчанию для плейбука в группе group/microsoft.ad.domain.

domain_server

string

Указывает экземпляр служб доменов Active Directory, к которому нужно подключиться.

Значение может быть указано в виде FQDN или имени NetBIOS.

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

Пользовательские учётные данные можно указать во вложенной записи domain_credentials без ключа name либо с помощью параметров domain_username и domain_password.

Этот параметр можно задать в значениях модуля по умолчанию для плейбука в группе group/microsoft.ad.domain.

domain_username

string

Имя пользователя для взаимодействия с AD.

Если значение не задано, для аутентификации будет использоваться пользователь подключения.

Ansible не сможет использовать пользователя подключения, если для аутентификации не используется Kerberos с делегированием учётных данных или CredSSP и для задачи не используется become.

Для указания учётных данных аутентификации домена по умолчанию также можно использовать вложенную запись domain_credentials без ключа name.

Этот параметр можно задать в значениях модуля по умолчанию для плейбука в группе group/microsoft.ad.domain.

enabled

boolean

Значение yes включает компьютер.

Значение no отключает компьютер.

Варианты:

  • false
  • true

identity

string

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

Его необходимо указать, если параметр name не задан, если нужно переименовать объект, задав новое значение name, или если нужно переместить объект в другой каталог path.

Идентификатором может быть GUID, представляющий значение objectGUID, userPrincipalName, sAMAccountName, objectSid или distinguishedName.

Если значение не указано, объект AD для управления выбирается по distinguishedName с использованием формата CN={{ name }},{{ path }}. Если параметр path не задан, вместо него используется defaultNamingContext.

При использовании модуля microsoft.ad.computer к концу sAMAccountName автоматически добавляется $, если переданное значение не позволило найти совпадение и уже не оканчивалось на $.

kerberos_encryption_types

dictionary

Указывает типы шифрования Kerberos, поддерживаемые учётной записью компьютера AD.

Это значение задаётся для атрибута LDAP msDS-SupportedEncryptionTypes.

Не используйте rc4 или des, поскольку это устаревшие и небезопасные протоколы шифрования.

Чтобы удалить все типы шифрования, используйте set с пустым списком.

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

add

list / elements=string

Типы шифрования, которые нужно добавить к существующему набору.

Все существующие типы шифрования, не указанные в add, останутся без изменений, если они не указаны в remove или отсутствуют в set.

Варианты:

  • "aes128"
  • "aes256"
  • "des"
  • "rc4"

remove

list / elements=string

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

Все существующие типы шифрования, не указанные в remove, останутся без изменений, если не задан параметр set.

Варианты:

  • "aes128"
  • "aes256"
  • "des"
  • "rc4"

set

list / elements=string

Типы шифрования, которые нужно задать как единственные разрешённые для компьютера AD.

Все существующие типы шифрования, не указанные в этом списке, будут удалены.

Укажите пустой список, чтобы удалить все типы шифрования.

Варианты:

  • "aes128"
  • "aes256"
  • "des"
  • "rc4"

location

string

Задаёт расположение учётной записи компьютера.

Это значение задаётся для атрибута LDAP location.

managed_by

any

Пользователь или группа, управляющие объектом.

Значение может быть строкой в виде distinguishedName, objectGUID, objectSid, sAMAccountName или userPrincipalName либо словарём с ключом name и необязательным ключом server.

Это значение задаётся для атрибута LDAP managedBy.

Дополнительные сведения о поиске DN см. в разделе Атрибуты поиска DN.

name

string

Значение name объекта AD, которым нужно управлять. Это не sAMAccountName объекта, а запись LDAP cn или name объекта в указанном пути. Используйте identity, чтобы выбрать объект для управления по его sAMAccountName.

Если задан параметр identity, а имя найденного по нему объекта не совпадает с этим значением, объект будет переименован.

Этот параметр необходимо указать, если не задан identity.

path

string

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

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

При управлении существующим объектом, найденным по параметру identity, найденный объект будет перемещён по пути, указанному в этом параметре. Если путь не задан, объект не будет перемещён.

Модули microsoft.ad.computer, microsoft.ad.user и microsoft.ad.group используют собственный путь по умолчанию, заданный на контроллере домена Active Directory.

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

protect_from_deletion

boolean

Помечает объект как защищённый от случайного удаления.

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

Использование state=absent всё равно удалит объект AD, даже если он помечен как защищённый от удаления.

Варианты:

  • false
  • true

sam_account_name

string

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

Если значение не указано, при создании новой учётной записи используется значение name.

Максимальная длина — 256 символов; для совместимости со старыми операционными системами рекомендуется не более 15 символов.

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

Обратите внимание: все значения sAMAccountName компьютеров обычно заканчиваются на $.

По умолчанию, если $ не указан, он добавляется в конец. Если задано do_not_append_dollar_to_sam=True, указанное значение используется как есть, без добавления $ в конец.

spn

псевдонимы: spns

dictionary

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

Это значение задаётся для атрибута LDAP servicePrincipalName.

Чтобы удалить все имена субъектов-служб, используйте set с пустым списком.

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

add

list / elements=string

Имена SPN, которые нужно добавить в servicePrincipalName.

remove

list / elements=string

Имена SPN, которые нужно удалить из servicePrincipalName.

set

list / elements=string

SPN, которые будут установлены в качестве единственных значений в servicePrincipalName.

Все существующие SPN, отсутствующие в указанном списке, будут удалены.

Укажите пустой список, чтобы удалить все SPN объекта AD.

state

string

Укажите present, чтобы объект AD существовал.

Укажите absent, чтобы удалить объект AD, если он существует.

Параметр name необходимо задать, если state=present.

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

Варианты:

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

trusted_for_delegation

boolean

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

Это также называется неограниченным делегированием Kerberos.

Устанавливает флаг ADS_UF_TRUSTED_FOR_DELEGATION в атрибуте LDAP userAccountControl.

Варианты:

  • false
  • true

upn

string

Настраивает имя участника-пользователя (UPN) для учетной записи.

Формат: <username>@<domain>.

Это значение задается в атрибуте LDAP userPrincipalName.

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Модуль может работать в режиме check_mode и возвращать прогноз изменения статуса, не изменяя целевой объект; если режим не поддерживается, действие будет пропущено.

diff_mode

Поддержка: полная

В режиме diff возвращает сведения об изменениях (или о возможных изменениях в режиме check_mode).

platform

Платформа: windows

Целевые ОС и семейства ОС, с которыми можно работать

Примечания

Примечание

  • Инструкции по переходу с community.windows.win_domain_computer на этот модуль см. в руководстве по переходу с win_domain_computer.
  • Этот модуль необходимо запускать на целевом узле Windows с установленным модулем ActiveDirectory.
  • При сопоставлении по identity со значением sAMAccountName это значение должно заканчиваться на $. Если указанное значение не заканчивается на $, модуль сначала попытается найти учетную запись компьютера по этому значению, а затем выполнит резервный поиск, добавив $ в конец. Такое резервное поведение появилось в версии 1.7.0 этой коллекции.
  • Некоторые атрибуты LDAP могут содержать только одно значение, другие — несколько. Некоторые атрибуты доступны только для чтения и не могут быть изменены. Рекомендуется проверить метаданные схемы атрибута: System-Only обозначает значения только для чтения, а Is-Single-Value — атрибуты, допускающие только одно значение.
  • Попытка задать несколько значений для атрибута Is-Single-Value приводит к неопределенному поведению.
  • Если модуль выполняется на сервере, который не является контроллером домена, необходимо использовать делегирование учетных данных через CredSSP или Kerberos с делегированием либо задать параметры domain_username и domain_password.

См. также

См. также

microsoft.ad.domain

Обеспечивает существование домена Windows.

microsoft.ad.domain_controller

Управляет состоянием контроллера домена или сервера-члена домена на узле Windows.

microsoft.ad.membership

Управляет членством узла Windows в домене или рабочей группе.

microsoft.ad.object_info

Собирает сведения об объекте Active Directory.

microsoft.ad.object

Управляет объектами Active Directory.

microsoft.ad.offline_join

Получает BLOB-объект автономного присоединения к домену.

microsoft.ad.group

Управляет объектами групп Active Directory.

Руководство по переходу

Этот модуль заменяет community.windows.win_domain_computer. Подробности см. в руководстве по переходу.

community.windows.win_domain_computer

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

Примеры

- name: Add linux computer to Active Directory OU using a windows machine
  microsoft.ad.computer:
    name: one_linux_server
    sam_account_name: linux_server$
    dns_hostname: one_linux_server.my_org.local
    path: OU=servers,DC=my_org,DC=local
    description: Example of linux server
    enabled: true
    state: present

- name: Remove linux computer from Active Directory using a windows machine
  microsoft.ad.computer:
    identity: one_linux_server$
    state: absent

- name: Add SPNs to computer
  microsoft.ad.computer:
    identity: TheComputer$
    spn:
      add:
        - HOST/TheComputer
        - HOST/TheComputer.domain.test
        - HOST/TheComputer.domain.test:1234

- name: Remove SPNs on the computer
  microsoft.ad.computer:
    identity: TheComputer$
    spn:
      remove:
        - HOST/TheComputer
        - HOST/TheComputer.domain.test
        - HOST/TheComputer.domain.test:1234

- name: Set the principals the computer trusts for delegation from
  microsoft.ad.computer:
    identity: TheComputer$
    delegates:
      set:
        - CN=FileShare,OU=Computers,DC=domain,DC=test
        - OtherServer$  # Lookup by sAMAaccountName

- name: Add computer with sAMAccountName without $ suffix
  microsoft.ad.computer:
    identity: TheComputer
    sam_account_name: TheComputer
    do_not_append_dollar_to_sam: true

Возвращаемые значения

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

Ключ

Описание

distinguished_name

string

distinguishedName объекта AD, который был создан, удален или изменен.

Возвращается: всегда

Пример: "CN=MyComputer,CN=Computers,DC=domain,DC=test"

object_guid

string

objectGUID объекта AD, который был создан, удален или изменен.

Если в режиме check mode был создан новый объект, возвращается GUID, состоящий из нулей.

Возвращается: всегда

Пример: "d84a141f-2b99-4f08-9da0-ed2d26864ba1"

sid

string

Идентификатор безопасности (SID) управляемой учетной записи.

Если в режиме check mode был создан новый компьютер, SID будет равен S-1-5-0000.

Возвращается: всегда

Пример: "S-1-5-21-4151808797-3430561092-2843464588-1104"

Авторы

  • 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/microsoft/ad/computer_module.html

Spec-Zone.ru

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