Как определить, включена ли учетная запись пользователя или отключена

Я бросаю вместе быстрое приложение форм победы C#, чтобы помочь разрешить повторяющееся конторское задание.

Я выполнил поиск в AD для всех учетных записей пользователей, и добавляю их к представлению списка с флажками.

Я хотел бы принять значение по умолчанию состояние проверки listviewitem по умолчанию для зависимости от включенного/нерабочего состояния из учетной записи.

string path = "LDAP://dc=example,dc=local";
DirectoryEntry directoryRoot = new DirectoryEntry(path);
DirectorySearcher searcher = new DirectorySearcher(directoryRoot,
    "(&(objectClass=User)(objectCategory=Person))");
SearchResultCollection results = searcher.FindAll();
foreach (SearchResult result in results)
{
    DirectoryEntry de = result.GetDirectoryEntry();
    ListViewItem lvi = new ListViewItem(
        (string)de.Properties["SAMAccountName"][0]);
    // lvi.Checked = (bool) de.Properties["AccountEnabled"]
    lvwUsers.Items.Add(lvi);
}

Я изо всех сил пытаюсь найти, что правильный атрибут анализирует для получения состояния учетной записи от объекта DirectoryEntry. Я искал AD Пользовательские атрибуты, но не нашел что-либо полезным.

Кто-либо может предложить какие-либо указатели?

67
задан Bryan 5 January 2010 в 11:21
поделиться

1 ответ

этот код здесь должен работать.....

private bool IsActive(DirectoryEntry de)
{
  if (de.NativeGuid == null) return false;

  int flags = (int)de.Properties["userAccountControl"].Value;

  return !Convert.ToBoolean(flags & 0x0002);
}
112
ответ дан 24 November 2019 в 14:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: