[英]C# Console Application - Get Current User AD Groups
我正在编写一个脚本,以获取当前用户的广告组的列表,并创建指向路径的.txt文件。
我环顾四周,似乎应该使用这些引用:
using System.DirectoryServices;
using System.DirectoryServices.AccountManagement;
我也在用这个:
UserPrincipal user = UserPrincipal.FindByIdentity(new PrincipalContext(ContextType.Domain, "<Domain>"), IdentityType.SamAccountName, "<UserName>");
foreach (GroupPrincipal group in user.GetGroups())
{
Console.Out.WriteLine(group);
}
但这并没有列出用户应加入的所有组。
有什么我想念的吗?
我使用以下代码块来获取用户组:
String domainName = @"<your domain>";
String username = domainName + @"\<your username>";
PrincipalContext thisDomain = new PrincipalContext(ContextType.Domain);
UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(thisDomain, username);
PrincipalSearchResult<Principal> userGroups = userPrincipal.GetAuthorizationGroups();
foreach (Principal principal in userGroups.OfType<GroupPrincipal>())
{
Debug.WriteLine(principal.Name);
}
据我所知,通过与Active Directory中保存的内容进行比较,并列出了MMC管理单元中的用户对象,它列出了用户所属的所有组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.