1 / 1 / 0
Регистрация: 21.11.2018
Сообщений: 2

Ошибка при получении пользователя из Active Directory

21.11.2018, 08:08. Показов 1360. Ответов 1

Author24 — интернет-сервис помощи студентам
Подскажите, выходит ошибка при получении пользователя из AD: "Ссылка на объект не указывает на экземпляр объекта". Хотя на компе где пишется программа, работает все нормально, а когда запускаешь на другом компе, выходит ошибка.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
private void SearchUser(string Login)
        {
            try
            {
                string filter = string.Format("(&(ObjectClass={0})(sAMAccountName={1}))", "person", Login);
                string domain = "DC=main,DC=russianpost,DC=ru";
                string[] properties = new string[] { "fullname" };
 
                DirectoryEntry adRoot = new DirectoryEntry("LDAP://" + domain, null, null, AuthenticationTypes.Secure);
                DirectorySearcher searcher = new DirectorySearcher(adRoot);
                searcher.SearchScope = SearchScope.Subtree;
                searcher.ReferralChasing = ReferralChasingOption.All;
                searcher.PropertiesToLoad.AddRange(properties);
                searcher.Filter = filter;
 
                SearchResult result = searcher.FindOne();
                DirectoryEntry directoryEntry = result.GetDirectoryEntry();
 
                string displayName = directoryEntry.Properties["displayName"].Value.ToString();
                string displayMail = directoryEntry.Properties["mail"].Value.ToString();
                string displaytelephoneNumber = directoryEntry.Properties["telephoneNumber"].Value.ToString();
                byte[] data = directoryEntry.Properties["thumbnailPhoto"].Value as byte[];
 
                MemoryStream s = new MemoryStream(data);
 
                pictureEdit1.Image = Bitmap.FromStream(s);
                labelControl1.Text = displayName;
                labelControl2.Text = "Эл.почта: " + displayMail;
                labelControl3.Text = "тел: " + displaytelephoneNumber;
                btn_UserName.Caption = displayName;
            }
            catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); }
        }
 
        private void MyForm_Load_1(object sender, EventArgs e)
        {
            SearchUser(Environment.UserName);
        }
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.11.2018, 08:08
Ответы с готовыми решениями:

Получить все группы текущего пользователя в Active Directory
Надо использовать AD, чтобы получить группы текущего пользователя. Показать данные о пользователе private void FrSet_Load(Object...

Где можно посмотреть названия атрибутов при создании пользователя в Active directory
Здравствуйте, подскажите пожалуйста где можно глянуть названия атрибутов при создании пользователя в Active directory ( например , номер...

Как добавить пользователя в Active directory
Здравствуйте. Подскажите пожалуйста как можно добавить нового юзера в Active directory программным способом на C# . Блин чето ничего не...

1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
17888 / 13984 / 5343
Регистрация: 17.03.2014
Сообщений: 28,640
Записей в блоге: 1
21.11.2018, 14:07
Arthur000, для исправления NullReferenceException нужно знать в какой строке оно происходит. Положи рядом с программой pdb файл и добавь вывод или протоколирование всего исключения (нам нужен stack trace). Или закоментируй try/catch чтобы увидеть исключение в стандартном диалоге обработки ошибок.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.11.2018, 14:07
Помогаю со студенческими работами здесь

Дополнительные атрибуты пользователя в Active Directory
Добрый день! Реализовал класс: using System.DirectoryServices.AccountManagement; //.. //code: PrincipalContext...

Работа с Active Directory
Всем привет. Кто подскажет как выполнять вход с формы_1 в форму_2 используя Active Directory ? На данный момент вход выполняеться с...

Active directory получение UID
использую следующий код для поиска нужного пользователя по логину string loginName = "***\********"; if...

Проблема с получением групп из Active Directory
Собственно достаю из AD группы в которых состоит пользователь вот так: DirectoryEntry entry = new DirectoryEntry(directoryPath,...

Отладка приложения с использованием Active Directory
Доброго времени суток!!! Есть необходимость отлаживать приложение, использующее Active Directory (пользователей AD). ОС не серверная...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Вопросы на собеседованиях по микросервисам
ArchitectMsa 27.03.2025
Работодатели ищут не просто разработчиков, знающих базовые концепции, а специалистов, разбирающихся в тонкостях масштабирования, отказоустойчивости и производительности. Сейчас на первый план выходят. . .
Взаимодействие Python с REST API
py-thonny 27.03.2025
REST API - это архитектурный стиль взаимодействия компонентов распределённого приложения в сети. Python располагает функциональным набором инструментов для работы с REST API и основная библиотека для. . .
sshd restrictions, ssh access limitations
jigi33 26.03.2025
sshd restrictions | ssh access limitations рестрикции доступа на сервер sshd статья: https:/ / www. golinuxcloud. com/ restrict-allow-ssh-certain-users-groups-rhel
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
Многопоточное программировани­е в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru