2011-07-06 194 views
2

我一直在敲我的頭幾個小時,試圖找出爲什麼這不會'工作。我找到了一個從AD組獲得用戶列表的例子,但是我無法使其工作。這裏是我一直在努力做的事情:從Active Directory組獲取用戶

DirectoryEntry de = new DirectoryEntry("LDAP://DC=" + domain + ",DC=com"); 

DirectorySearcher ds = new DirectorySearcher(de);//, "(objectClass=person)"); 

ds.Filter = "(&(objectCategory=person)(objectclass=user)(memberOf=CN=!CityNameGroup))"; 

ds.PropertiesToLoad.Add("givenname"); 
ds.PropertiesToLoad.Add("samaccountname"); 
ds.PropertiesToLoad.Add("sn"); 
ds.PropertiesToLoad.Add("useraccountcontrol"); 

foreach (SearchResult sr in ds.FindAll()) 
{//stuff goes here} 

ds.FindAll總是帶回0的結果與此過濾器。我可以做更簡單的過濾器來恢復結果,但我從來沒有從上面的過濾器得到任何回報。我只想要所有在!CityNameGroup中的用戶。我感謝幫助!

回答

3

如果.NET 3.5是一個選項,停止敲打你的頭,看看這裏:

Everything in Active Directory via C#.NET 3.5 (Using System.DirectoryServices.AccountManagement)

嚴重的是,處理AD .NET 3.5中是另一個世界。它會改變一切。當然,更好。

更新

而且,這裏有一個現成的答案(Active Directory User Group Memberships GroupPrincipal)。我會有不抄襲的禮儀。 :)

它使用.NET 3.5,BTW。

+0

你搖滾!謝謝:) – adminJaxon

+0

總是樂於幫忙! –

相關問題