microsoft.ad.parse_dn 过滤器 – 将 LDAP DistinguishedName 字符串解析为对象。

注意

此过滤器插件是 microsoft.ad 集合 (版本 1.7.1) 的一部分。

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

要安装它,请使用: ansible-galaxy collection install microsoft.ad

要在剧本中使用它,请指定: microsoft.ad.parse_dn

microsoft.ad 1.5.0 中的新增功能

概要

  • 将提供的 LDAP DistinguishedName (DN) 字符串值解析为结构化对象。

  • 解析规则如 RFC 4514 中所定义。

  • 每个 DN 包含由 , 分隔的相对 DistinguishedName (RDN),每个 RDN 可以包含多个属性类型值,也称为 AVA。虽然 Microsoft Active Directory DN 在 RDN 中只能包含 1 个 AVA,但此解析器支持多个 AVA。

  • 每个 DN 的返回对象将作为列表的列表提供,其中外部列表是由 , 分隔的每个 RDN 组件,内部列表是由 =+ 分隔的每个 AVA。每个 RDN 条目都保证具有 AVA 类型和值的 2 个字符串值,但如果 RDN 包含由 + 分隔的多个 AVA,则可以包含更多值。

  • 解析的 RDN 属性值将被取消转义,以表示实际值,而不是 DN 中的原始字符串。

  • 无效的 DN 将引发过滤器错误。

输入

这描述了过滤器的输入,即 | microsoft.ad.parse_dn 之前的 value。

参数

注释

输入

字符串 / 必需

要解析的 LDAP DistinguishedName 字符串。

另请参阅

另请参阅

microsoft.ad.dn_escape

microsoft.ad.dn_escape 过滤器

microsoft.ad.ldap

microsoft.ad.ldap 清单

示例

- name: Parses a simple DN
  set_fact:
    my_dn: '{{ "CN=Foo,DC=domain,DC=com" | microsoft.ad.parse_dn }}'

# [
#   ["CN", "Foo"],
#   ["DC", "domain"],
#   ["DC", "com"],
# ]

- name: Parses a DN with an escaped and multi attribute values
  set_fact:
    my_dn: '{{ "CN=CA,O=Acme\, Inc.,C=AU+ST=Queensland" | microsoft.ad.parse_dn }}'

# [
#   ["CN", "CA"],
#   ["O", "Acme, Inc."],
#   ["C", "AU", "ST", "Queensland"]
# ]

# Extract the group names the computer is a member of in the ldap inventory
# plugin, for example gets the first RDN value inside the parsed DN.
attributes:
  memberOf:
    computer_membership: this | microsoft.ad.parse_dn | map(attribute="0.1")

返回值

描述

返回值

列表 / 元素=列表

解析的 LDAP DN 值。

返回:成功

示例: [["CN", "Foo"], ["DC", "domain"], ["DC", "com"]]

作者

  • Jordan Borean (@jborean93)

提示

每个条目类型的配置条目具有从低到高的优先级顺序。例如,列表中较低的变量将覆盖较高的变量。