2017-01-27 210 views
0

我有一個活動目錄域,其中包含我們所有的用戶帳戶以及所有連接到我們域的計算機和設備。我在PHP中主要使用LDAP和adLDAP庫和函數進行身份驗證,但是我正在開發一個新項目,並且需要使用這些庫的稍微不同的方法。我正在處理的新網站是資產或庫存管理網站。我打算仍然使用LDAP身份驗證,但我還想通過允許您將活動目錄中的計算機進行同步來簡化對建築物中的計算機進行盤點的過程。這可以做到嗎?我知道搜索,但有沒有辦法查詢整個OU,並通過每個項目增加,並獲取有關這些項目的信息。LDAP Active Directory域計算機

我想查詢我們的計算機OU,並提取像辦公室號碼,計算機名稱和基本信息這樣的信息。我知道如何搜索特定用戶,但我並不是真的在這裏尋找會員,而是計算機,它是否類似?如果需要,我可以提供用於搜索用戶的代碼。我厭倦了尋找做類似事情的人,但我所看到的所有教程和問題通常涉及搜索用戶和身份驗證或綁定和搜索之間的差異。

回答

1

LDAP是輕量級目錄訪問協議的縮寫。真正意義的是它是數據庫的驅動程序。 Active Directory的基本前提是建立在簡單的關係數據庫結構之上。

這意味着您可以訪問任何有關實體(I.E.辦公室號碼,計算機名稱等)的數據元素。這裏唯一的限制就是您的LDAP用戶對目錄進行身份驗證的權限是「Permission」以查看。如果會計人員登錄到您的應用程序中,並且您的應用程序以該用戶的身份瀏覽目錄(標準/默認設置),請記住用戶可能無法查看目錄中的所有元素。

這也意味着只要您將查詢正確地構建到數據庫中,您就可以訪問任何您有權訪問的元素。由於您已經熟悉使用LDAP身份驗證,因此DN,OU結構必須熟悉。語法繼續,但項目名稱會根據您希望訪問的屬性而更改。我建議用高度特權的用戶查詢目錄,並將輸出分配到print_r()以瞭解結構,然後遍歷數據庫。但如果你有一個人非常熟悉的目錄結構,他們可以爲您提供正確的路徑功能,並使用這些功能的組合應該讓你的一切,你需要知道:

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

希望這幫助!如果您希望我澄清任何事情或進一步解釋,請在評論中告訴我,我很樂意更新我的答案!

相關問題