我怎样才能检索到一组由它从Active Directory中使用PHP primaryGroupToken? 显然,这是一个计算的属性,以便检索它不是直线前进,因为在这个答案躲避到: AD:集团没有primaryGroupToken属性
基本上我使用下面的命令:
ldap_search(
$connection,
"DC=host,DC=only,DC=network",
"(&(objectClass=group)(objectCategory=group)(primaryGroupToken=513))",
array("dn", "primarygrouptoken")
)
这将导致一个错误:
Warning: ldap_search(): Search: Inappropriate matching
不知道如何使用它的使用PHP从Active Directory主组令牌获取一组?
从链接答案的最简单的方法引用是最后后面的数字,要求集团-的objectSID作为过滤参数。
"(&(objectClass=group)(objectCategory=group)(objectSid=*-513))"
属性参数也将成为array("dn", "objectSid")
不幸的是,你说你的评论是一个八位位组或字节数组,而不是SDDL字符串,这是不可能的,因为的objectSID。 你可以搜索特定的组通过使用转义(以\和十六进制的前缀)字节的字符串,但是这是个问题问不算什么。
但是二元过滤器不支持通配符。 另一种方法是要求所有基团,然后通过后处理之后的RID解压的objectSID对于每个组,然后组,然而这取决于在域组的数量,这可能是太慢了。
而例如PHP字节串和SDDS之间的转换位于这里 ,与PrimaryGroupId查找用户一起。
另一种方法是使用ADO按这里或在这里 ,但是这需要ADODB 。
也看到这里的第二个参考。 其他参考这里和这里
文章来源: How to retrieve group by primaryGroupToken from Active Directory using PHP?