1
我們使用以下代碼來獲取活動目錄用戶的組。域用戶組未獲取活動目錄用戶
StringCollection groups = new StringCollection();
try
{
using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, domainName, userName, password))
{
//find user roles
UserPrincipal user = UserPrincipal.FindByIdentity(pc, IdentityType.SamAccountName, loginUserName);
if (user != null)
{
DirectoryEntry de = (DirectoryEntry)user.GetUnderlyingObject();
object obGroups = de.Invoke("Groups");
foreach (object ob in (IEnumerable)obGroups)
{
DirectoryEntry obGpEntry = new DirectoryEntry(ob);
groups.Add(obGpEntry.Name);
}
}
}
}
catch (Exception e)
{
}
這幾乎和預期一樣。但是,當我們用Domain Users
組檢查用戶時,該方法沒有返回組名。有些用戶只使用這個Domain Users
組,當我們爲這些用戶調用這個方法時,它返回一個空組。
任何建議,請..
是的,我以前用過這個,但是後來出現一個錯誤,例如「無法檢索域的信息(1355)」。我無法弄清楚原因,於是我轉而使用舊技術。 – 2012-04-02 05:08:13
給定的鏈接現在顯示404錯誤http://dunnry.com/blog/2005/01/18/DeterminingYourPrimaryGroupInActiveDirectoryUsingNET.aspx%24 – 2012-04-02 05:30:56
@mahesh:抱歉,粘貼後有一個額外的字符 - 修復,現在的作品。 – 2012-04-02 05:32:59