我正在使用GroupPrincipal查找属于AD群组成员的用户。
GroupPrincipal group = GroupPrincipal.FindByIdentity(pc, "Advisors");
我需要从此查找中获取EmployeeID字段,但我相信这只能使用UserPrincipal。
var members = group.Members.Select(x => new DomainContext() { EmployeeID = x.EmployeeId, FullName = x.DisplayName }).ToList();
有没有人知道这方面的方法?
答案 0 :(得分:1)
除非您使用基础DirectoryEntry / DirectorySearcher类,否则必须使用UserPrincipal。
您应该使用.GetMembers()而不是.Members然后您可以执行以下操作:
var userMembers = group.GetMembers().OfType<UserPrincipal>();
foreach( var member in userMembers) {
string empid = member.EmployeeId; //do something with the EmployeeId
}