Я использую System.DirectoryServices.AccountManagement.dll
для работы с Active Directory, чтобы получить всех пользователей в группе «Пользователи домена».
Это возвращает всех пользователей в домене, но мне нужно получить только включенных.
Вот пример кода:
List<string> users = new List<string>();
PrincipalContext pcContext = GetPrincipalContext();
GroupPrincipal grp = GroupPrincipal.FindByIdentity(pcContext,
IdentityType.Name,
"Domain Users");
foreach (Principal user in grp.GetMembers(true).OfType<UserPrincipal>())
{
if (user.Enabled != false)
{
users.Add(user.Name);
}
}
Другие группы работают нормально, но когда группа «Пользователи домена», значение свойства Enabled
равно false
для всех пользователей. Это делает невозможным различие между включенными и отключенными пользователями без выполнения дополнительного запроса для каждого пользователя.
memberOf
). - person RobSiklos   schedule 13.08.2013