Я использую функцию getgroup() для чтения всех групп пользователей в активном каталоге.getgroup() очень медленный
Я не уверен, что я делаю что-то неправильно, но это очень медленно. Каждый раз, когда он достигает этой точки, требуется несколько секунд. Я также обращаюсь к остальной директории Active, используя интегрированную функцию «Accountmanagement», и она выполняется мгновенно.
Вот код:
For y As Integer = 0 To AccountCount - 1
Dim UserGroupArray As PrincipalSearchResult(Of Principal) = UserResult(y).GetGroups()
UserInfoGroup(y) = New String(UserGroupArray.Count - 1) {}
For i As Integer = 0 To UserGroupArray.Count - 1
UserInfoGroup(y)(i) = UserGroupArray(i).ToString()
Next
Next
Позже ...:
AccountChecker_Listview.Groups.Add(New ListViewGroup(Items(y, 0), HorizontalAlignment.Left))
For i As Integer = 0 To UserInfoGroup(y).Count - 1
AccountChecker_Listview.Items.Add(UserInfoGroup(y)(i)).Group = AccountChecker_Listview.Groups(y)
Next
Item() содержит мои нормальные данные Active Directory, что я медийный (у, 0) содержит имя пользователя ,
y - количество учетных записей пользователей в AD. У меня также есть другой код для другой информации в этом цикле, но это не проблема.
Кто-нибудь знает, как сделать это быстрее или если есть другое решение?