2013-07-12 154 views
0

我一直在瘋狂奔跑,試圖讓這個工作正常,但它似乎拒絕。我在網上找到的所有示例看起來都非常像這樣,它們聲明PrincipalContext,UserPrincipal和GroupPrincipal的方式有所不同。有些是由返回對象的函數聲明的,有些是直接執行的。對我來說,令人沮喪的是,當我運行這段代碼:檢查組成員身份

PrincipalContext oPrincipalContext = GetPrincipalContext(sDefaultRootOU); 
      UserPrincipal oUserPrincipal = UserPrincipal.FindByIdentity(oPrincipalContext, IdentityType.SamAccountName, sUserName); 
      GroupPrincipal oGroupPrincipal = GroupPrincipal.FindByIdentity(oPrincipalContext, sGroupName); 

      bool isUserGroupMember = oUserPrincipal.IsMemberOf(oGroupPrincipal); 

不管我做什麼,isUserGroupMember總是回來爲假,即使有問題的用戶是該組的成員。有什麼想法我做錯了什麼?任何幫助,將不勝感激。

謝謝!

更新這是野生的,但我已成功地隔離問題到一組,域用戶組,我已經驗證了這一點與其他「建在」 AD組和成員正確顯示。有什麼想法嗎?

回答

0

雖然不是完整的答案,但似乎'域用戶'組是唯一一個返回此結果的人,無論其成員身份如何。由於默認情況下所有用戶都是該組的成員,因此如果指定的組是「域用戶」,則在該組中寫下一行以忽略該組。如果指定的組爲「域用戶」