在问这个问题后 ,我有一个LDAP查询,看起来像这样:
(&(cn=*)(networkAddress=*)(objectClass=user))
但是,如果用户有多个cn ,则会多次返回。 有没有办法阻止这种情况发生?
由于在许多模式实现中的CN是多值的,而不是保证独特的,所以一般规则是使用单值的属性,应该是唯一的,比如uid。
在Active Directory中,对于单个域,您可以依赖sAMAccountName,但如果树/ forest中有多个域,则不能。 您可能可以依赖userPrincipalName,通常将其构造为[email protected],但与sAMAccountName不同,没有validation这实际上是一个唯一的值。
实验中,我注意到了(好吧,我做了一些拼写错误),UPN可以是任何值,并且没有强制执行。
这听起来对我来说是正确的结果…
如果使用像ldapsearch这样的工具会发生什么?
我不知道什么关于Python数据types,但你不能只是捕捉对象的输出,然后检查它是否是一个数组或只是string。 如果它的数组只是第一个logging,如果它的一个string直接采取。
我的意思是这就是我在vbscript中处理用户组相关查询的方式。