При разработке приложений на Delphi зачастую возникает необходимость работы с Active Directory для получения информации о пользователях. В данной статье мы рассмотрим, как извлечь список пользователей Active Directory вместе с их полным именем и адресом электронной почты в Delphi 2010.
Введение
Active Directory (AD) – это служба каталогов, хранящая и управляющая информацией о пользователях, компьютерах, группах и других ресурсах в локальной сети или в Интернете. Для работы с Active Directory в Delphi можно использовать компоненты, такие как TDsADOConnection, TDsADOQuery и TDsADOCommand.
Решение проблемы
Для извлечения списка пользователей Active Directory и их атрибутов в Delphi 2010 можно воспользоваться компонентом TJvObjectPickerDialog из JVCL. Этот компонент облегчает работу с диалогом выбора объектов Windows и позволяет получать требуемые атрибуты пользователей.
Шаг 1: Добавление компонента TJvObjectPickerDialog в форму
Чтобы добавить компонент TJvObjectPickerDialog в форму, выполните следующие действия:
Установите JVCL в свою среду Delphi, если это еще не сделано.
Перейдите на закладку "Component Palette" (Палатка компонентов) в окне "Tool Palette" (Панель инструментов).
Разверните группу "Jv" и найдите компонент "Object Picker Dialog".
Перетащите компонент TJvObjectPickerDialog на форму.
Шаг 2: Настройка свойств TJvObjectPickerDialog
После добавления компонента на форму необходимо настроить его свойства:
ADsPath: Укажите путь к корню Active Directory, который вы хотите просмотреть. Например, чтобы получить список пользователей в домене, укажите путь к корню пользователей: LDAP://DC=yourdomain,DC=com.
Attributes: Укажите атрибуты, которые вы хотите получить для каждого пользователя. Для получения полного имени и адреса электронной почты можно использовать значение: displayName, mail.
Filter: Укажите фильтр, который будет использоваться для поиска пользователей. Чтобы получить всех пользователей, можно оставить это поле пустым.
Шаг 3: Выполнение поиска и получение результатов
После настройки свойств компонента можно выполнить поиск и получить результаты следующим образом:
procedure TForm1.Button1Click(Sender: TObject);
var
DialogResult: TJvObjectPickerDialogResult;
User: TADsItem;
Users: TADsItems;
begin
DialogResult := TJvObjectPickerDialogResult.Create;
try
TJvObjectPickerDialog1.Execute;
if TJvObjectPickerDialog1.DialogResult = crOK then
begin
Users := TJvObjectPickerDialog1.SelectedObjects;
for User in Users do
begin
Memo1.Lines.Add(User.Properties['displayName'].Value);
Memo1.Lines.Add(User.Properties['mail'].Value);
end;
end;
finally
DialogResult.Free;
end;
end;
В этом примере мы создаем экземпляр TJvObjectPickerDialogResult, выполняем диалог выбора объектов с помощью TJvObjectPickerDialog1.Execute, проверяем результат и, если он равен crOK, извлекаем список пользователей и их атрибуты. Затем мы выводим полное имя и адрес электронной почты каждого пользователя в поле Memo1.
Заключение
В этой статье мы рассмотрели, как извлечь список пользователей Active Directory вместе с их полным именем и адресом электронной почты в Delphi 2010 с помощью компонента TJvObjectPickerDialog из JVCL. Используя этот компонент, можно легко получать требуемые атрибуты пользователей и работать с ними в своем приложении.
Статья описывает процесс извлечения списка пользователей Active Directory вместе с их полным именем и адресом электронной почты в Delphi 2010 с использованием компонента TJvObjectPickerDialog из JVCL.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS