2013-05-28 64 views
3

我從ldap獲取有關用戶的信息。這包括完整的「CN = cnBlah,OU = ouBlah,DC = dcBlah」形式的directReports。我正在嘗試再次查找以查找有關reportee的信息。如何在dlp中通過dn進行搜索

到目前爲止,我已經能夠真正找到所述用戶的唯一方法是打破CN =並將字符串的其餘部分設置爲基礎。

這是做這件事的正確方法嗎?或者有沒有一種方法可以搜索整個dn的條目?

回答

5

使用DN作爲搜索中的基礎對象,並將搜索範圍設置爲base

有關信息,請參閱Using ldapsearch

+0

我發現(在特里的另一篇文章中)這個神奇的組合似乎是:1)將搜索基礎設置爲您正在查找的DN。 2)將搜索過濾器設置爲「(&)」。 –

1

調用ldapsearch-f選項會做很多你想要的東西。

將您的第一個搜索結果保存到一個文件中,只有cn屬性的。例如,您的文件如下所示:

user1 
user2 
cnBlah 
john 
jim 
user883 

然後調用ldapsearch,其基數足夠高以涵蓋所有用戶。這可能是-b dc=users,dc=example,dc=com

所以,如果你救了你的用戶列表,一個名爲users.txt文件,您的ldapsearch命令行應該是這樣的:

#I removed the hostname, port and authentification for clarity 
ldapsearch -b "dc=users,dc=example,dc=com" -s sub "cn=%s" -f users.txt -LLL 

龍線將包裹在〜76個字符。沒有任何通過perl -p00e 's/\r?\n //g'的管道無法修復。

-1

如果您已經擁有完整的DN,則根本不需要執行任何搜索。只要做一個查找操作。

+2

@downvoter請解釋。無法解釋的downvotes容易被視爲純粹的網站破壞行爲。如果您認爲有一些錯誤,請指定它。 – EJP

+0

我仍然對這些看法感到困惑。我的生產代碼已經完成了六年。 – EJP