[英]How to find current user group from Active Directory
如何从Active Directory服务器中查找当前用户组
请参阅屏幕快照网址。 http://i.stack.imgur.com/v1dww.png
对于用户名“ palani”,组为Administrators 。
如何从Active Directory服务器获取
如果您使用的是.NET 3.5及更高版本,则应签出System.DirectoryServices.AccountManagement
(S.DS.AM)命名空间。 在这里阅读所有内容:
基本上,您可以定义域上下文并轻松找到AD中的用户和/或组:
// set up domain context
using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain))
{
// find currently logged in user
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "palani");
if(user != null)
{
foreach(GroupPrincipal group in user.GetAuthorizationGroups().OfType<GroupPrincipal>())
{
Console.WriteLine("Group name: {0}", group.Name);
}
}
}
用户可以是任意数量的组的成员-没有给定用户的组 -仅存在他/她所属的组的列表。
新的S.DS.AM使得与AD中的用户和组玩起来非常容易!
您可以尝试以下方法:
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "domain.com",
"CN=palani,OU=Department,DC=domain,DC=com",
"administrator",
"password");
UserPrincipal usr = UserPrincipal.FindByIdentity(ctx,"palani");
if(usr!=null){
Console.WriteLine(Convert.ToString(usr.SamAccountName));
PrincipalSearchResult<Principal> group = usr.GetGroups();
foreach(Principal pr in group)
Console.WriteLine(pr.Name);
}
Console.Read();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.