Версия 1.0.4.0
Здесь пост с тестированием утилиты. Репозиторий здесь.
Консольная утилита для получения данных о пользователе из Active Directory.
На написание этой программы меня подтолкнула работа в средах, где отсутствуют простые методы работы со службами каталогов Active Directory. Да, в таких средах частенько встречаются модули для формирования LDAP запросов, но используя ADapter формирование таких запросов можно вовсе избежать.
ADapter умеет получать отображаемое имя пользователя, его SID, адрес электронной почты, номер телефона и прочие данные. Если данных для выдачи нет — консоль вернёт string.empty. Если возникла ошибка — консоль вернёт конструкцию «Нет соединения с Active Directory».
Программа умеет узнавать состояние учётной записи пользователя, а также включать или отключать её с помощью параметров командной строки.
При запуске программы откроется окно выбора пользователя в службе каталогов. Данный функционал реализован с помощью пакета Active-Directory-Object-Picker (The standard Active Directory object picker dialog for .NET). Данный метод получения данных выводит в консоль все доступные данные о выбранном пользователе построчно.
Перед использованием настоятельно рекомендую ознакомиться с выводом данных из утилиты. Построение возврата данных проходит в построчном режиме в виде очереди:
- отображаемое имя (как правило, Фамилия Имя Отчество);
- UserPrincipalName (username@local.domain);
- SamAccountName (username);
- SID;
- номер телефона;
- адрес электронной почты;
- должность;
- подразделение;
- кабинет.
Соответственно, парсить массив нужно будет в таком порядке.
Чтобы получить только необходимые данные — можно запускать программу с параметрами командой строки.
Полный перечень параметров:
| Параметр | Функция |
|---|---|
| -help, /h, /?, -h | Показать справочную информацию о программе и доступных параметрах |
| -getupn <username> | Получить UserPrincipalName пользователя из Active Directory |
| -getname <username> | Получить отображаемое имя пользователя из Active Directory |
| -getmail <username> | Получить электронную почту пользователя из Active Directory |
| -getphone <username> | Получить номер телефона пользователя из Active Directory |
| -getsid <username> | Получить SID пользователя из Active Directory |
| -getdepartment <username> | Получить подразделение пользователя из Active Directory |
| -getpost <username> | Получить должность пользователя из Active Directory |
| -getroom <username> | Получить кабинет пользователя из Active Directory |
| -disable <username> | Выключить учётную запись пользователя в Active Directory |
| -enable <username> | Включить учётную запись пользователя в Active Directory |
| -status <username> | Получить состояние учётной записи пользователя в Active Directory (вернёт True — если запись включена и, соответственно, False — если выключена) |
| -verify <username> <password> | Проверить соответствие пары логин/пароль пользователя в Active Directory |
| -gmt <username> <security group name> | Проверить членство пользователя в доменной группе безопасности |
Программа в качестве username принимает только логин пользователя из служб каталогов.
Написана на C# в IDE VisualStudio.
Для работы утилиты требуется .Net Framework 4.5.2.
Скачать .Net Framework с этого сайта: 4.5.2 | 4.7.2 | 4.8.1.
Ранние версии программы:
Версия 1.0.3.0: скачать исходники | скачать программу
Версия 1.0.1.0: скачать исходники | скачать программу