擅长:python、mysql、java
<blockquote>
<p>The above line says <code>MY-LDAP-GROUP</code> exists and returns <code>TRUE</code></p>
</blockquote>
<p>返回<code>True</code>只意味着搜索成功。这并不意味着发现了什么。在<code>conn.entries</code>里有什么东西吗</p>
<p>但我怀疑你真正的问题是不同的。如果<a href="https://github.com/cannatag/ldap3/blob/master/ldap3/extend/microsoft/addMembersToGroups.py" rel="nofollow noreferrer">this</a>是<code>ad_add_members_to_groups</code>的源代码,那么它需要组的<code>distinguishedName</code>(注意参数名<code>group_dn</code>),但是您传递的是<code>cn</code>(公共名)。例如,您的代码应该类似于:</p>
<pre><code>addMembersToGroups(conn, ['myuser'], 'CN=MY-LDAP-GROUP,OU=Groups,DC=example,DC=com')
</code></pre>
<p>如果您不知道DN,则从搜索中请求<code>distinguishedName</code>属性</p>
<p>警告一句:<code>ad_add_members_to_groups</code>的代码在添加新成员之前检索所有当前成员。如果您与成员众多的组一起工作,您可能会遇到性能问题(例如,如果该组有1000个成员,则在添加任何成员之前将加载所有1000个成员)。您实际上不需要这样做(您可以在不查看当前成员的情况下添加新成员)。我认为他们试图避免的是,当你试图添加已经在组中的人时,会出现错误。但我认为有更好的方法来处理这个问题。如果你只与小团体合作,这对你来说可能并不重要</p>