Отображать диалоговое окно «Выбор пользователей и групп» из приложения WPF?

Мне нужно отобразить стандартный диалог «Выбор пользователей и групп» из приложения .NET/WPF. Мне также нужно иметь возможность отображать его под 64-битной ОС. Я нашел эту статью CodeProject, довольно древнюю, восходящую к .NET. 1,1 дня. Он написан на управляемом C++ и представлен как COM-объект, который не будет работать для моих нужд.

Кто-нибудь реализовал или знает о реализации чистой оболочки .NET/С# для отображения и взаимодействия со стандартным системным диалоговым окном «Выбор пользователей и групп», которое будет работать с приложением WPF?


person jrista    schedule 04.10.2009    source источник


Ответы (3)


Ну, я нашел решение. Оказывается, я искал не то. Вместо «Выбрать пользователей или группы» правильно искать «Средство выбора объектов Active Directory». ADOP — это обычное диалоговое окно, которое используется для выбора любого объекта из Active Directory, включая пользователей, группы, компьютеры и т. д. Так уж получилось, что в большинстве случаев это диалоговое окно называется «Выбор пользователей или групп».

Для всех, кто столкнулся с этой проблемой, я публикую ссылку на проект CodePlex, Общие диалоги Active Directory .NET, который предоставляет очень простую в использовании оболочку .NET для этого диалога. . Делает его таким же простым в использовании, как и любой другой распространенный диалог .NET:

http://adui.codeplex.com/

Те из вас, кто работает в 64-битной операционной системе или в более современной операционной системе (Win2k8+), могут столкнуться со сбоем после выбора пользователей или групп и нажатия кнопки «ОК». Решение проблемы здесь:

http://www.codeplex.com/ADUI/Thread/View.aspx?ThreadId=38047

Надеюсь, это поможет любому, кто искал/ищет то же самое.

person jrista    schedule 04.10.2009
comment
+1 Я мог бы действительно использовать это для проекта около года назад, я закончил тем, что накатил его с нуля. Один для закладок, спасибо - person AdamW; 04.10.2009
comment
@kerchingo: Извините, я не искал год назад. :P Я надеюсь, что поисковые системы подхватят этот вопрос/ответ. Там нет ничего, что бы связывало Select Users or Groups и Active Directory Object Picker вместе, поэтому практически невозможно найти полезную информацию. - person jrista; 05.10.2009
comment
Доступен патч, устраняющий указанные и другие проблемы: adui.codeplex.com/SourceControl/list /патчи - person Helge Klein; 10.04.2011
comment
Я скачал приведенный выше код (спасибо!) и хочу получить доступ к удаленному компьютеру для AD. Кто-нибудь знает, где я могу указать пароль в коде? - person Meir; 16.11.2011
comment
Мы сделали его доступным и исправили как Nuget. Пакет установки Tulpep.ActiveDirectoryObjectPicker - person Ricardo Polo Jaramillo; 29.10.2014

Мы создали NuGet, доступный по адресу https://github.com/Tulpep/Active-Directory-Object-Picker.

Он основан на этом проекте https://adui.codeplex.com/, который упоминается другими, но с исправленной утечкой памяти.

person Ricardo Polo Jaramillo    schedule 28.10.2014

http://adui.codeplex.com/ - это хорошая реализация, но у нее есть утечка памяти, которую я не мог' т удалить. Если вы используете его и попытаетесь открыть диалоговое окно выбора рекламы несколько раз, вы получите AccessViolationException для чтения/записи памяти. Это плохой знак.

Я использовал другую оболочку из здесь. Это должно быть немного изменено в коде, но AccessViolationExceptions.

person Regfor    schedule 22.10.2009
comment
ADUI - это то, что я использовал, если вы прочитали мой собственный ответ. Я связал решение с утечкой памяти, которая также вызвала сбои. Пока у меня он отлично работает как на 32-битных, так и на 64-битных системах. - person jrista; 22.10.2009