LDAP Active Directory域计算机

时间:2017-01-27 20:06:16

标签: php active-directory ldap

我有一个活动目录域,其中包含我们所有用户帐户以及连接到我们域的所有计算机和设备。我在PHP中使用LDAP和adLDAP库和函数主要用于身份验证,但是我正在开发一个新项目,它需要稍微不同的方法来使用这些库。我正在开发的新网站是资产或库存管理网站。我计划仍然使用LDAP身份验证,但我还想通过允许您将它们同步到活动目录来简化清除计算机中的计算机的过程。可以这样做吗?我知道搜索但是有一种方法可以查询整个OU并增加每个项目并获取有关这些项目的信息。

我想查询我们的计算机OU并提取办公室编号,计算机名称和基本信息等信息。我知道如何搜索特定用户,但我不是真的在这里寻找会员,而是计算机,它是否相似?如果需要,我可以提供用于搜索用户的代码。我已经厌倦了寻找做类似事情的人,但我看到的所有教程和问题一般都涉及搜索用户和身份验证或绑定和搜索之间的差异。

1 个答案:

答案 0 :(得分:1)

LDAP是轻量级目录访问协议的首字母缩写。这真正意味着它是数据库的驱动程序。 Active Directory的基本前提是建立在简单的关系数据库结构之上。

这意味着您可以访问有关实体的任何数据元素(I.E.办公室编号,计算机名称等)。这里唯一的限制是您对LDAP目录进行身份验证的用户具有要查看的“权限”。如果来自Accounting的人登录到您的应用程序,并且您的应用程序以该用户(标准/默认设置)浏览目录,请记住用户可能无法查看目录中的所有元素。

这也意味着只要您正确地将查询结构化到数据库,就可以访问您有权访问的任何元素。由于您已熟悉使用LDAP身份验证,因此必须熟悉DN,OU结构。语法继续,但项目名称会根据您要访问的属性而更改。我建议使用具有高权限的用户查询目录,并将输出吐出到print_r()以学习结构,然后遍历数据库。虽然如果你有一个非常熟悉目录结构的人,他们可能能够为你提供正确的路径,并且使用这些功能的组合应该可以获得你需要知道的一切:

ldap_get_attributes()
ldap_get_entries()
ldap_get_option()
ldap_get_values() 

希望这有帮助!如果您希望我澄清任何内容或进一步解释,请在评论中告诉我,我很乐意更新我的答案!