microsoft.ad.object_info 模块 – 收集 Active Directory 对象的信息

注意

此模块是 microsoft.ad 集合(版本 1.7.1)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。 它不包含在 ansible-core 中。 要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install microsoft.ad。 您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。

要在 playbook 中使用它,请指定:microsoft.ad.object_info

概要

  • 收集有关多个 Active Directory 对象的信息。

要求

在执行此模块的主机上需要以下要求。

  • ActiveDirectory PowerShell 模块

参数

参数

注释

domain_password

字符串

domain_username 的密码。

这可以在 play 的模块默认值 下的 group/microsoft.ad.domain 组下设置。

domain_server

字符串

指定要连接的 Active Directory 域服务实例。

可以是 FQDN 或 NetBIOS 名称的形式。

如果未指定,则该值基于运行 PowerShell 的计算机的默认域。

这可以在 play 的模块默认值 下的 group/microsoft.ad.domain 组下设置。

domain_username

字符串

与 AD 交互时要使用的用户名。

如果未设置此项,则用于身份验证的用户将是连接用户。

除非身份验证是使用凭据委派或 CredSSP 的 Kerberos,或者任务上使用了 become,否则 Ansible 将无法使用连接用户。

这可以在 play 的模块默认值 下的 group/microsoft.ad.domain 组下设置。

filter

字符串

使用 PowerShell 表达式语言语法指定查询字符串。

这遵循与 PowerShell AD cmdlet 的 -Filter 参数相同的规则和格式,但没有变量替换。

这与 identityldap_filter 互斥。

identity

字符串

通过其专有名称或对象 GUID 指定单个 Active Directory 对象。

这与 filterldap_filter 互斥。

这不能与 search_basesearch_scope 选项一起使用。

include_deleted

布尔值

同时搜索已删除的 Active Directory 对象。

选择

  • false ←(默认)

  • true

ldap_filter

字符串

类似于 filter,但这是一个传统的 LDAP 查询字符串,用于过滤要返回的对象。

这与 filteridentity 互斥。

properties

列表 / 元素=字符串

要返回的属性列表。

如果属性为 *,则将返回 AD 对象上具有设定值的所有属性。

如果属性在对象上有效但未设置,则只有在此选项列表中显式定义时才会返回。

始终返回属性 DistinguishedNameNameObjectClassObjectGUID

指定多个属性可能会对性能产生影响,最好只返回需要的属性。

如果指定了无效属性,则该模块将针对每个属性在其上无效的对象显示警告。

search_base

字符串

指定要在其中搜索对象的 Active Directory 路径。

不能使用 identity 设置此项。

默认情况下,搜索基础是目标 AD 实例的默认命名上下文,这是 Get-ADRootDSE | Select-Object -ExpandProperty defaultNamingContext 返回的 DN。

search_scope

字符串

指定在 search_base 中搜索对象时的范围。

base 将搜索限制为基础对象,因此返回的最大对象数始终为一个。 这不会搜索容器内的任何对象。

one_level 将搜索当前路径以及该路径中的任何直接对象。

subtree 将递归搜索当前路径和该路径的所有对象。

不能使用 identity 设置此项。

选择

  • "base"

  • "one_level"

  • "subtree"

属性

属性

支持

描述

check_mode

支持: 完全

可以在 check_mode 下运行并返回更改的状态预测,而无需修改目标,如果不支持,则将跳过该操作。

diff_mode

支持:

当处于 diff 模式时,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息

platform

平台: windows

可以操作的目标操作系统/系列

备注

注意

  • 返回的属性 groupType_AnsibleFlagsmsDS-SupportedEncryptionTypes_AnsibleFlagssAMAccountType_AnsibleFlagsuserAccountControl_AnsibleFlags 是模块本身设置的,方便查看这些标志代表的含义。 这些属性不能用作 filterldap_filter 的一部分,如果请求了这些属性,则会自动添加这些属性。

  • 此模块必须在安装了 ActiveDirectory 模块的 Windows 目标主机上运行。

参见

参见

microsoft.ad.domain

确保 Windows 域的存在。

microsoft.ad.domain_controller

管理 Windows 主机的域控制器/成员服务器状态。

microsoft.ad.group

管理 Active Directory 组对象。

microsoft.ad.object

管理 Active Directory 对象。

microsoft.ad.user

管理 Active Directory 用户。

microsoft.ad.computer

管理 Active Directory 计算机对象。

迁移指南

此模块替代 community.windows.win_domain_object_info。有关详细信息,请参阅迁移指南。

community.windows.win_domain_object_info

收集 Active Directory 对象的信息。

示例

- name: Get all properties for the specified account using its DistinguishedName
  microsoft.ad.object_info:
    identity: CN=Username,CN=Users,DC=domain,DC=com
    properties: '*'

- name: Get the SID for all user accounts as a filter
  microsoft.ad.object_info:
    filter: ObjectClass -eq 'user' -and objectCategory -eq 'Person'
    properties:
      - objectSid

- name: Get the SID for all user accounts as a LDAP filter
  microsoft.ad.object_info:
    ldap_filter: (&(objectClass=user)(objectCategory=Person))
    properties:
      - objectSid

- name: Search all computer accounts in a specific path that were added after February 1st
  microsoft.ad.object_info:
    filter: objectClass -eq 'computer' -and whenCreated -gt '20200201000000.0Z'
    properties: '*'
    search_scope: one_level
    search_base: CN=Computers,DC=domain,DC=com

返回值

通用返回值记录在此处,以下是此模块特有的字段

描述

objects

列表 / 元素=字典

一个字典列表,这些字典是找到的 Active Directory 对象以及请求的属性。

字典的键是属性名称,值是属性的值。

所有日期属性都以 UTC 时区的 ISO 8601 格式返回。

所有 SID 属性都作为字典返回,键为 Sid,表示 SID 字符串,键为 Name,表示翻译后的 SID 帐户名称。

所有字节属性都以 base64 字符串形式返回。

所有安全描述符属性都作为该描述符的 SDDL 字符串返回。

始终返回属性 DistinguishedNameNameObjectClassObjectGUID

返回: 总是

示例: "[{\n  \"accountExpires\": 0,\n  \"adminCount\": 1,\n  \"CanonicalName\": \"domain.com/Users/Administrator\",\n  \"CN\": \"Administrator\",\n  \"Created\": \"2020-01-13T09:03:22.0000000Z\",\n  \"Description\": \"用于管理计算机/域的内置帐户\",\n  \"DisplayName\": null,\n  \"DistinguishedName\": \"CN=Administrator,CN=Users,DC=domain,DC=com\",\n  \"memberOf\": [\n    \"CN=组策略创建者所有者,CN=Users,DC=domain,DC=com\",\n    \"CN=域管理员\",CN=Users,DC=domain,DC=com\"\n  ],\n  \"Name\": \"Administrator\",\n  \"nTSecurityDescriptor\": \"O:DAG:DAD:PAI(A;;LCRPLORC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPLOCRSDRCWDWO;;;BA)\",\n  \"ObjectCategory\": \"CN=Person,CN=Schema,CN=Configuration,DC=domain,DC=com\",\n  \"ObjectClass\": \"user\",\n  \"ObjectGUID\": \"c8c6569e-4688-4f3c-8462-afc4ff60817b\",\n  \"objectSid\": {\n    \"Sid\": \"S-1-5-21-2959096244-3298113601-420842770-500\",\n    \"Name\": \"DOMAIN\\Administrator\"\n  },\n  \"sAMAccountName\": \"Administrator\",\n}]\n"

作者

  • Jordan Borean (@jborean93)