2011-06-01 95 views
2

我想與LDAP的AD進行搜索,符合條件的人是不是在一個特定的OU(見例)搜索在不OU

Domain.local 
- [OU] Location A 
-- [OU] Users 
-- [OU] Computers 
- [OU] Location B 
-- [OU] Users 
-- [OU] Computers 
- [OU] Location C 
-- [OU] Users 
-- [OU] Computers 

在我的過濾器我希望所有用戶,但該用戶從位置B /用戶

這可能嗎?如果是,如何?

回答

4

ExtensibleMatch解釋here允許在DN路徑上構建過濾器,但它在Active Directory中不受支持。據我知道你有以下解決方案,做你想做什麼:

  • 多個搜索,每一個OU除了一個你不想
  • 兩個搜索,一個全球性的,一個是你不需要對象的OU,並且你在第一個搜索中抑制了第二個搜索的條目。
  • 使用AD中的屬性來區分位置B中的用戶。例如,從organizationalPerson類繼承的名爲OU的屬性。你把它設置爲「locationB」(它是多值的)

第三種解決方案是我使用的。我在你的情況建議是:

  1. 測試,如果OU屬性是在Directory用戶或inetorgpersons使用,如果這樣選擇其他屬性

    (&(|(對象類=爲inetOrgPerson)(對象類=用戶))(OU = *))

  2. 通過腳本,通過編程,通過使用LDIF填充您選擇的屬性,並保持它在使用

如果你使用C#編寫程序,你可以得到一個對象的「父」信息,我在simalary question中解釋過,所以你可以在這個標準中對對象進行排序。

+0

這是一些有用的東西在那裏,我想讓他們試試:)謝謝! – Sander 2011-06-02 09:17:40