Подскажите, выходит ошибка при получении пользователя из AD: "Ссылка на объект не указывает на экземпляр объекта". Хотя на компе где пишется программа, работает все нормально, а когда запускаешь на другом компе, выходит ошибка.
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);
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости