我正在编写一个脚本来获取当前用户的AD组列表,并为路径创建.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);
}
但是这并没有列出用户应该使用的所有组。
我有什么遗失的吗?
答案 0 :(得分:1)
我使用这段代码来获取用户组:
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管理单元中查看用户对象