Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Чтение атрибутов пользователя (Имени, Фамилии) из ActiveDirectory / 2 сообщений из 2, страница 1 из 1
10.02.2007, 18:01
    #34321257
AvnAvnAvn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение атрибутов пользователя (Имени, Фамилии) из ActiveDirectory
Дано: Login пользователя
Требуется: найти Фамилию, Имя пользователя в ActiveDirectory.
Для получения доступа к ActiveDirectory откомпилировал и зарегистрировал DLL с функцией getUser(...), параметры получает, но не все.

Итак, текст функции в DLL:
Function getUser(ByVal strCnName As String, ByVal DC0 As String, ByVal DC1 As String, ByVal DC2 As String) As Recordset
'Получение информации о пользователе strCnName
On Error GoTo ErrorHandler
'Соединение с Active Directory
Dim cn As New Connection
cn.CursorLocation = adUseClient
cn.Provider = "ADsDSOObject"
cn.Open
'Установка набора записей
Dim rs As New Recordset
Set rs.ActiveConnection = cn
'выполнение запроса
Dim str As String
str = "select cn, sAMAccountName, company, title, telephoneNumber" & " from 'LDAP://CN=" & strCnName & ",CN=" & DC0 & ",DC=" & DC1 & ",DC=" & DC2 & "'" '-к этой строке запроса вернемся чуть позже.
rs.Source = str
rs.Open
'отсоединение набора записей
Set rs.ActiveConnection = Nothing
cn.Close
'Возвращение записи
Set getUser = rs

Exit Function
ErrorHandler:
Err.Raise Err.Number, Err.Source, "GetUser from .dll: " & Err.Description
End Function

Пишу программу на VBScript (выбор языка объектного программирования в принципе неважен):
Set obj = Server.CreateObject("asp0202.tstweb")
-здесь имя DLL и имя класса, которому принадлежит функция
User = "Administrator"
CN0 = "Users"
CN1 = "admkrs"
CN2 = "ru"
Set RsUserInfo = obj.getUser(User, CN0, CN1, CN2)
Response.Write("    RsUserInfo.Fields.Count:"""+trim(RsUserInfo.Fields.Count)+"""<br>")
For i=0 to RsUserInfo.Fields.Count-1
Response.Write("    "&trim(i)&":"""+RsUserInfo.Fields(i)+"""<br>")
next


Все работает, но мне нужно получить и другие текстовые атрибуты записи пользователя в ActiveDirectory
Проблема в том, что я не знаю имен полей всех атрибутов.

Если в DLL в функции getUser написать запрос, в котором указать * вместо конкретных имен полей,
то Recordset возвращает только одно поле:
RsUserInfo.Fields.Count = 1 созначением:
RsUserInfo.Fields(0)="LDAP://CN=Administrator,CN=Users,DC=admkrs,DC=ru"

Вопрос: возможно ли запросить сразу все поля атрибутов пользователя (что-то вроде "select * From LDAP//..."-но этот запрос точно не возвращает всех записей)?
Если нет, то подскажите имена полей атрибутов пользователя, которые возможно прочитать в ActiveDirectory (Фамилия, имя, отчество и другие)
...
Рейтинг: 0 / 0
23.04.2007, 17:54
    #34481437
Andrey1306
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение атрибутов пользователя (Имени, Фамилии) из ActiveDirectory
Вопрос к автору можете ли рассказать как вы dll регистрируете и регистрируете ли вы ее вообще очеь надо сделать вызвать из асп страницы dll и никак не получается
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Чтение атрибутов пользователя (Имени, Фамилии) из ActiveDirectory / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]