Как я могу получить рабочие свойства LDAP в VB. NET Поиск в каталоге LDAP? - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть каталог LDAP для получения пользователей агентства в компании.

Я могу получить всех пользователей с их свойствами, такими как name, sn, description et c. Однако эти свойства не включают рабочие свойства, такие как "ownerSource" или "modifyTimeStamp". Я могу видеть их в JExplorer, используя кнопку свойств, однако я не смог добраться до них в коде. В дополнение к введенным пользователем свойствам, как я могу получить системные свойства из каталога LDAP?

add key = "conAgency" value = "LDAP: //aaa.bbb.pvt: 389 / ou = Агентства, dc = ccc "

Public Sub GetLdapAgencyUsers()
    Try
        Dim searchResult As SearchResult

        Dim LDAPAgencyConnection As String = ConfigurationManager.AppSettings("conAgency")

        Using entry As DirectoryEntry = New DirectoryEntry(LDAPAgencyConnection)
            entry.AuthenticationType = AuthenticationTypes.Anonymous
            Try
                Using searcher As DirectorySearcher = New DirectorySearcher(entry)
                    searcher.ServerTimeLimit = New TimeSpan(0, 30, 0)
                    searcher.ClientTimeout = New TimeSpan(1, 0, 0)
                    Using srchRslt As SearchResultCollection = searcher.FindAll()
                        If srchRslt IsNot Nothing AndAlso srchRslt.Count > 0 Then

                            For userCount As Integer = 0 To srchRslt.Count - 1
                                searchResult = srchRslt(userCount)
                                Try
                                    InsertOrUpdateUserEntity(searchResult, nsDskCommon.ENUMS.enUserType.AgencyPerson)
                                Catch ex As Exception
                                    logger.Info(String.Format("Error: {0}", ex.Message))
                                    Continue For
                                End Try
                            Next
                        End If
                    End Using
                End Using
            Catch ex As Exception
                logger.Info(String.Format("Error: {0}", ex.Message))
            End Try

        End Using

    Catch ex As Exception
        logger.Info(String.Format("Error: {0}", ex.Message))
    End Try
End Sub
...