Прежде всего, я довольно новичок в программировании в целом.Я работаю над простым инструментом мониторинга.
Я пытаюсь получить список всех заблокированных пользователей AD.Благодаря stackoverflow я нашел кого-то, у кого когда-то был тот же вопрос, к сожалению, его ответ не работает для меня.И я не могу понять, почему, но я думаю, что я nog поиск правильно .. Ниже код выдает следующую ошибку.
Ошибка
(Грубо переводится:Значение не может быть нулевым. Имя параметра: IdentityValue)
Попытка поиска альтернативы «Пользователи домена» в приведенном ниже коде, но безуспешно.
GroupPrincipal grp = GroupPrincipal.FindByIdentity(context,
IdentityType.SamAccountName, "Domain Users");
Вот код, который я использую.
var lockedUsers = new List<UserPrincipal>();
using (var context = new PrincipalContext(ContextType.Domain,
"domainname"))
{
GroupPrincipal grp =
GroupPrincipal.FindByIdentity(context, IdentityType.SamAccountName,
"Domain Users");
foreach (var userPrincipal in grp.GetMembers(false))
{
var user = UserPrincipal.FindByIdentity(context,
IdentityType.SamAccountName, userPrincipal.UserPrincipalName);
if (user != null)
{
if (user.IsAccountLockedOut())
{
lockedUsers.Add(user);
}
}
}
}