通过LDAP的PHP ActiveDirectory-如何查找用户主要组的名称?
因此,我想检索用户主组的组名 我已经知道如何检索primaryGroupID,但在group类中还没有找到包含这样一个id的字段 这就是我检索primaryGroupID的方式:通过LDAP的PHP ActiveDirectory-如何查找用户主要组的名称?,php,ldap,Php,Ldap,因此,我想检索用户主组的组名 我已经知道如何检索primaryGroupID,但在group类中还没有找到包含这样一个id的字段 这就是我检索primaryGroupID的方式: $filter = "(sAMAccountName=" . $username . ")"; $attr = array ( "primaryGroupID", "sAMAccountName" ); $result = ldap_search( $ldap, "DC=ad,DC=test,DC=local", $f
$filter = "(sAMAccountName=" . $username . ")";
$attr = array ( "primaryGroupID", "sAMAccountName" );
$result = ldap_search( $ldap, "DC=ad,DC=test,DC=local", $filter, $attr ) or exit( "Unable to search LDAP server" . ldap_error( $ldap ) );
$entries = ldap_get_entries( $ldap, $result );
提前谢谢 primaryGroupID实际上是您需要获取的组的名称。基本上,您需要执行以下操作来确定实际组:
objectSid
和primaryGroupID
属性objectSid
转换为其字符串形式primaryGroupID
objectSid
等于上一步SID的组objectSid
:
只需将值传递给fromLdap($value)
函数。然后使用SID的字符串版本获取组的SID,如下所示:
$groupSid = preg_replace('/\d+$/', $primaryGroupId, $userSid);
现在使用上面的
$groupSid
可以搜索objectSid
等于该值的组。我不确定它是否重复,但这肯定是相关的