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 值。 返回:成功 示例: |