Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Доступ к AD через ADO


charoey_mag ©   (2008-12-29 08:25:00) 

Подскажите как осуществить субж. В настройках ADOConnection выбрал "Поставщик услуг OLE DB для служб и каталогов", указал админские логин/пароль, в источнике указал ip контроллера домена. В ADOTable когда пытаешься выбрать таблицу появляется ошибка(краказяблами) и соответственно доступа нет. Подскажите как осущетвить доступ


charoey_mag   (2008-12-29 11:08:00) [1]

Насколько я понял то поле "Описание " возвращает
array of VarianArray.
тогда
var
   i:integer;
   c:variant;
   s:string;
begin
ADOQuery1.Recordset.MoveFirst;
c:=ADOQuery1.Recordset.Fields[0].Value;
i:=length(C[0]);
s:=c[0];

То все нормально. Но если например
i:=length(c);
то появляется ошибка
"Could not convert variant of type variant (Array Variant) into type (string)"

Как узнать сколько записей в основном массиве?


charoey_mag   (2008-12-29 10:47:00) [2]

Спасибо. Разобрался.
На микрософте нашел примеру многих скриптов
http://www.microsoft.com/technet/scriptcenter/scripts/ad/users/status/default.mspx?mfr=true

Но не нашел, можно ли искать по "Описанию"(Description). Если это поле добавть в query то он срабатывает, но если попытыться обратиться к записи или отобразить, то вылетает ошибка:
"Could not convert variant of type variant (Array Variant) into type (string)"
Можно как-то обратиться к описанию?


easy   (2008-12-29 10:17:00) [3]


> В ADOTable когда пытаешься выбрать таблицу появляется ошибка(краказяблами)
> и соответственно доступа нет. Подскажите как осущетвить
> доступ

Текущий проводник не поддерживает наборы записей схемы. (это краказяблы)

используй ADOQuery
SELECT distinguishedName FROM 'LDAP:// dc.local' WHERE ObjectCategory ='user' ORDER BY distinguishedName;


charoey_mag   (2008-12-29 09:05:00) [4]

Есть скрипт который точно работает, но он не очень удобен. Пытаюсь сделать тоже самое, но что писать в CommandText незнаю. с тем что есть не работает. Может кто-нибудь подскажет как это делается

'On Error Resume Next
Const User_Name = "User1"

Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=ADsDSOObject;"
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection
objCommand.CommandText = _
   ";(objectCategory=User)" & _
       ";distinguishedName;subtree"
Set objRecordSet = objCommand.Execute

intCounter = 0

Do Until objRecordset.EOF
   intUAC=objRecordset.Fields("distinguishedName")

   If mid(intUAC,4,len(User_Name)) = User_Name  Then
       WScript.echo objRecordset.Fields("distinguishedName")
   End If

   objRecordset.MoveNext
Loop


Наверх

Титульная страница Поиск, карта сайта Написать письмо