ldap_search() 通过AD中的GUID与Php

问题描述 投票:0回答:1

我是初学者(对我的英语感到抱歉)。我开发了一个 php API 来与 LDAP 目录交互。 我会在 AD 中通过 objectGUID 搜索用户。我无法搜索超过 2 个字符...

我尝试应用在 ldap_search() 的 phpdoc 上找到的这个方法:

ldap_search($ds,"dc=blahblah,dc=com", "(objectGUID=\\AE\\C3\\23\\35\\F7)");

但是我不知道如何替换AE,C3,...

$id = "4a3ef66a-ff9f-4e84-ad8d-dd3378e8df19";


我尝试从一个简单的问题开始:

$filters = "(objectGUID=*\\4a*)";  //(objectGUID=*\4a*)

-> 有效!已找到用户。


我尝试了更多:

$filters = "(objectGUID=*\\4a3e*)";  //(objectGUID=*\4a3e*)

-> ldap_search($filters, [...]) 然后 ldap_get_entries() : count=0


我试过了:

$filters = "(objectGUID=*\\4a\\3e*)";  //(objectGUID=*\4a\3e*)

-> ldap_search($filters, [...]) 然后 ldap_get_entries() : count=0


我试过了:

$filters = "(objectGUID=*\\4a-3e*)";  //(objectGUID=*\4a-3e*)

-> ldap_search($filters, [...]) 然后 ldap_get_entries() : count=0


我试过了:

$filters = "(objectGUID=*\\4a*3e*)";  //(objectGUID=*\4a*3e*)

-> ldap_search($filters, [...]) 然后 ldap_get_entries() : count=0


您知道使用 Php 通过 objectGUID 在 AD 中搜索用户的好方法吗?

谢谢你。

php active-directory ldap guid
1个回答
0
投票

您的过滤器需要类似于

(objectGUID=\90\39\5F\19\1A\B5\1B\4A\9E\96\86\C6\6C\B1\8D\11)

objectGUID 作为“relicaLink”存储在 Microsoft Active Directory 中,看起来像一个八位字节字符串。我认为子字符串搜索不起作用。

更多信息请访问: https://ldapwiki.com/wiki/Wiki.jsp?page=ObjectGUID

© www.soinside.com 2019 - 2024. All rights reserved.