Запрос ADsDSOObject: столбцы доступны при запросе LDAP? - PullRequest
1 голос
/ 26 января 2011

Я пишу VBScript для запроса ADsDSOObject, и я не совсем понимаю структуру LDAP. Я вижу, как найти доступные виртуальные таблицы в Active Directory, но не могу найти, где искать доступные виртуальные столбцы.

Кроме того, если я "ВЫБРАТЬ * ОТ", он возвращает только ADsPath. Я хотел бы выбрать больше, чем просто «Имя», «Тип» и «Описание» из группы objectClass = 'Computer'.

Dim objCompArr
Dim currcomp
objCompArr = Array()
currcomp = -1

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"

Set objCOmmand.ActiveConnection = objConnection
objCommand.CommandText = "SELECT Name FROM 'LDAP://DC=mydomain,DC=com' WHERE objectClass = 'Computer'"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
Set objRecordSet = objCommand.Execute

If Not objRecordSet.EOF Then
    objRecordSet.MoveFirst
    Do Until objRecordSet.EOF
        currcomp = currcomp + 1
        ReDim Preserve objCompArr(currcomp)
        objCompArr(currcomp) = objRecordSet.Fields("Name")
        objRecordSet.MoveNext
    Loop
End If

Ответы [ 2 ]

4 голосов
/ 26 января 2011

Визуально просматривать AD проще всего с помощью браузера LDAP (например, от Softerra , ADSIEdit от Microsoft или Active Directory Explorer от Sysinternals ).

Вы сможете увидеть все доступные свойства объекта и создать соответствующий запрос.

Фамилия называется sn, например, имя givenName, логин sAMAccountName, просто назвать несколько.

Вы всегда можете запросить свойства, которые не установлены (или даже не определены). Это не ошибка, поскольку LDAP разработан для расширения, и не каждое свойство определено для каждого объекта. В результате вы получите пустые столбцы.

0 голосов
/ 26 января 2011

Я нашел ответ здесь: http://msdn.microsoft.com/en-us/library/ms680987%28v=vs.85%29.aspx#windows_2000_server_attributes

Есть ли способ вытащить текущего пользователя из этого класса?Я думал, что Desktop-Profile будет тем, но он вызывает неопределенную ошибку во время выполнения запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...