Simma Lokesh Ответов: 1

Ниже приводится ошибка при чтении всех данных пользователей из active directory


Цитата:
Система.Время Выполнения.InteropServices.COMException (0x8007203B): произошла локальная ошибка.



в системе.Каталог.SearchResultCollection.ResultsEnumerator.метод MoveNext()

в системе.Каталог.Бухгалтерия.ADEntriesSet.Метод MoveNext()

в системе.Каталог.Бухгалтерия.FindResultEnumerator`1. MoveNext()

в системе.Каталог.Бухгалтерия.FindResultEnumerator`1.Системы.Коллекции.IEnumerator.метод MoveNext()

в LaunchPad2.CustomerMasterData.GetPhoneNumbersFromActiveDirectory()


Что я уже пробовал:

using (var context = new PrincipalContext(ContextType.Domain, "example.com"))

                {

                    using (var searcher = new PrincipalSearcher(new UserPrincipal(context)))

                    {

                        PrincipalSearchResult<Principal> searchResult = searcher.FindAll();

                        foreach (Principal result in searchResult)

                        {

                            DirectoryEntry sr = result.GetUnderlyingObject() as DirectoryEntry;

 

                            if (sr.Properties.Contains("mobile") && sr.Properties.Contains("sAMAccountName"))

                            {

                                dctUserDetails.Add(sr.Properties["sAMAccountName"][0].ToString().ToLower(),

                                                  sr.Properties["mobile"][0].ToString().ToUpper() != "NA" ? sr.Properties["mobile"][0].ToString() : "");

                            }

                        }

                    }

                }

1 Ответов

Рейтинг:
0

Richard Deeming

Похоже, ваш код работает под учетной записью, которая не имеет разрешения на доступ к " example.com-домен.

Попробуйте передать действительные учетные данные для этого домена в PrincipalContext конструктор:

using (var context = new PrincipalContext(ContextType.Domain, "example.com", @"domain\username", "password"))
{
    ...
}


Simma Lokesh

Приведенный выше код работает правильно, но иногда он не читает объявление и выдает вышеуказанную ошибку.