проверить список samaccountname в AD

andreymx
Дата: 23.09.2017 08:14:28
есть список samAccountName, скажем, 10 тысяч
как максимально быстро проверить, кто из них есть в AD
построчно лезть через лдап весьма медленно
OoCc
Дата: 23.09.2017 09:36:32
andreymx,

А как бы ты это сделал в сиквэле?
andreymx
Дата: 23.09.2017 10:06:11
OoCc,

джойнить AD и свою таблицу не пробовал
Не уверен, что получится - т.к. в AD есть ограничение на размер выдаваемых данных
OoCc
Дата: 23.09.2017 15:25:48
andreymx,

Я бы выгреб все экаунты из АД и сравнил. Через OPENQUERY с фильтром на samAccountName типа @FirstChar + '*'. Если через АДО - то постранично.
andreymx
Дата: 23.09.2017 16:52:02
Там дофигаМногоТысяч аккаунтов
andreymx
Дата: 23.09.2017 18:16:03
andreymx
Там дофигаМногоТысяч аккаунтов
учитывая ограничение на размер порции, надо еще постараться придумать алгоритм, как это всё прочитать
OoCc
Дата: 23.09.2017 21:41:49
andreymx
andreymx
Там дофигаМногоТысяч аккаунтов
учитывая ограничение на размер порции, надо еще постараться придумать алгоритм, как это всё прочитать

Если через OPENQUERY то цикл с фильтром на samAccountName типа @FirstChar + '*'. А если через АДО - установить размер станички АДО.Команды обьекта и ФСЁ
andreymx
Дата: 25.09.2017 14:58:33
а кто подскажет, как установить sAMAccountName длиной долее 20 символов?

        Set objGroup = objContainer.Create("Group", "cn=" + strGrpName)
        objGroup.Put "sAMAccountName", Left(strShortName, 21) ' тут не хочет
        objGroup.Put "Description", Left(strDescr, 63)
       
Roman Mejtes
Дата: 25.09.2017 15:18:07
andreymx,

https://msdn.microsoft.com/en-us/library/ms679635(v=vs.85).aspx

Не более 20 символов.
sAMAccountName вроде как существует для старых ОС типа Windows 2000, по этому на сколько я помню, при создании учётки он обрезается просто
Критик
Дата: 05.10.2017 08:24:24
andreymx,

http://www.sql.ru/blogs/dwh/2130

Работает 10 сек, выгружает несколько десятков тысяч записей.
Чисто через sql делать не рекомендую, т.к в AD есть поля с мультизначениями, в которых, как правило, заполняется только первое значение.