我不熟悉 PHP 访问 LDAP/Active Directory 的实现,所以我无法帮助您。我可以帮助您的可能是了解从您的域结构中获取信息的位置,以便连贯地组装所有这些 CN、OU、DN 的东西。
登录到您的域控制器之一的控制台并打开“Active Directory 用户和计算机”管理员工具。
在顶部的左侧窗格中将显示您的域名,例如:somedomain.com 记下您的域名。
现在您需要在域结构中找到 ECSDocket_Admin、ECSDocket_User 和 ECSDocket_Viewer 组对象的位置。
单击您的域名旁边的 +(加号)(如果还没有)。您应该会看到一堆文件夹(实际上是 OU 和 Directory,但我会保持简单)。您要查找的组将位于这些“文件夹”之一中,很可能位于称为“用户”的文件夹中,因此请开始查找。
记下您找到该组的“路径”,从顶部的“somedomain.com”开始,向下遍历文件夹。例如:somedomain.com/users/etc/ECSDocket_Admin
要查询组对象,您需要知道它的专有名称 (DN)。使用您收集的有关域名和位置的信息,您可以为每个组组装 DN,如下所示:
注意:我正在使用一组示例路径:somedomain.com/users/etc/ECSDocket_Admin
DN 值为: CN=ECSDocket_Admin,OU=etc,OU=users,DC=somedomain,DC=com
--请注意,我们从对象名称“ECSDocket_Admin”开始,然后沿着树向上工作(查看我让你写下的路径时的顺序相反)!
--请注意,只有组名以 CN= 为前缀
--请注意,所有“文件夹”名称都以 OU= 为前缀
--请注意,我们在点分隔符处拆分我们的域名,并在每个部分前加上 DC=
--请注意,DN值中的所有内容都用逗号(,)分隔
您可能需要的其他项目的值是:
以 somedomain.com 域名为例,“搜索库”或目录中开始搜索的点将为:DC=somedomain,DC=COM
搜索范围将是:sub它只是说可以查看起点下方的所有“文件夹”
一旦弄清楚如何查询组对象,您特别感兴趣的属性值就称为“成员”。此属性包含多个值,一个用于作为组成员的每个用户。这些值将是用户帐户的 DN。您将感兴趣的部分将是开头的 CN=SOMEUSER 部分,因为这是用户帐户名。其余的是此帐户对象在域结构中存储的“路径”。
希望能帮助到你。