Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.93/41: Рейтинг темы: голосов - 41, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 15.02.2008
Сообщений: 15

vbs для доступа к AD

17.01.2009, 17:54. Показов 9315. Ответов 47
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть вот такой скрипт:

Set objUser = GetObject ('LDAP://ou=test,dc=testdomain,dc=ru')
objuser.filter=array('user')
For each object in objuser
wscript.echo object.Name & ' of ' & object.Class
Next

но он выдает только пользователей внутри OU Test и не смотрит во вложенные внутрь OU.
Вопрос - как настроить в запросе querty scope = subtree?
или нужно использовать какой-то другой механизм?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.01.2009, 17:54
Ответы с готовыми решениями:

Запуск служб "Служба доступа к файлам" и "Клиент для сетей Microsoft" с использованием bat- или vbs-файла
Доброе время суток. Подскажите пожалуйста можно ли как нибудь запустить службы "служба доступа к файлам" и "Клиент для...

Создание бинарного файла из vbs / Как создать exe файл из vbs
Имеется файл с расширением exe. Нужно как-нибудь занести массив байт в скрипт, и чтоб потом этот файл создавался при запуске vbs

VBS.rmnet5 и Programm.Unwanted.2042 и VBS.Dropper.128
Вирус распространяется во время его поиска dr.web'om. Уже не знаю, что делать помогите не могу его удалить(

47
0 / 0 / 0
Регистрация: 20.12.2009
Сообщений: 6
30.12.2009, 17:05
Студворк — интернет-сервис помощи студентам
Привет! Это опять я.
2 smaliq: будь добр, поясни что за COM+ компонент у тебя и как определяется аккаунт под которым он работает.

Я тут накропал dll на VB, которая получает из AD полное имя пользователя.
Code
1
2
3
4
5
6
7
8
9
Public Function GetUserName(UserID As String) As String
    Set connAD = CreateObject('adodb.connection')
    connAD.provider = 'ADsDSOObject'
    connAD.open 'ADSI'
    Set usersAD = CreateObject('adodb.recordset')
    usersAD.open ''LDAP://dc=sf' where samaccountname='' & UserID & ''', connAD
    Set objectuser = GetObject(usersAD(0))
    GetUserName = objectuser.Get('DisplayName')
End Function
регистрирую ее на WEB-сервере и обращаюсь к ней из ASP. Локально все работает великолепно, но...
С других компьютеров пишет
ADODB.Field ошибка '800a0bcd'
BOF ??? EOF ????? ???????? True, ???? ??????? ?????? ???????. ??? ??????????? ???????? ????????? ??????? ??????.
(параллельный вопрос: как сделать чтобы тут все было по-РУССКИ?)
0
0 / 1 / 3
Регистрация: 27.03.2012
30.12.2009, 22:30
проблема в том, что когда ты запускаешь запрос к AD прямо из ASP-скрипта или когда ты обращаешься через DLL, просто зарегистрированную через regsvr32, тогда запрос идет под аккаунтом, под которым запущен скрипт - т.е. в локальном случае - под твоей уч.записью (все работает, потому что ты - авторизованный пользователь), а когда скрипт запускается 'извне', с другой машины - то под IUSR_machinename, который не имеет прав на работу с AD...

dll регистрируй как COM+ компонент в Administrative Tools - Component Services - COM+ Applications... и во вкладке Properties - Identity указываешь имя пользователя домена, имеющего права на доступ к AD

У меня такая система работает в интранет-приложении, пользователи как читают, так и меняют свои данные в AD
0
0 / 1 / 3
Регистрация: 27.03.2012
30.12.2009, 22:31
насчет ошибки не по-русски - наверное, надо MDAC переставить
0
sunday
31.12.2009, 13:29
Спасибо, smalig за
Code
1
ъhttp://www.ldapbrowser.com/
Действительно, стало понятно, что как аноним, я ничего не вижу!

Сейчас попробую то, что предложил Ghost
sunday
31.12.2009, 18:59
Ghost! Супер! Все получилось! БОЛЬШОЕ СПАСИБО!
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Dim oCon
Dim oCom
Dim oUser
Dim stMail
Dim oRst
Dim lCX,mas()
Set oCon = CreateObject('ADODB.Connection')
oCon.Open 'Provider=ADsDSOObject;'
Set oCom = CreateObject('ADODB.Command')
oCom.ActiveConnection = oCon
oCom.CommandText = '<LDAP://ou=xxx,dc=xxx,dc=ru>;' & _
'(&(&(objectCategory=person)(objectClass=user)));' & _
'distinguishedName;subtree'
Set oRst = oCom.Execute
lCX=0
Response.Write lCX
    While Not (oRst.EOF)
    lCX=lCX+1
    ReDim Preserve mas(lCX)
    Response.Write lCX&'
'
    Set mas(lCX) = GetObject('LDAP://' & oRst.Fields('distinguishedName'))
    Response.Write mas(lCX).telephonenumber&'>>>'&mas(lCX).homephone&'>>>'&mas(lCX).mobile
    Response.Write oRst.Fields('distinguishedName')
    oRst.MoveNext
    Wend
Set oRst = Nothing
Set oCon = Nothing
Set oCom = Nothing
Set oUser = Nothing
sunday
31.12.2009, 19:01
Извините, есть лишние Response.Write-ы:-) Издержки...
sunday
04.01.2010, 11:16
Один простой мааааленький вопросик! А как отсортировать запрос? Куда воткнуть что-то вроде 'sort by displayName'? Может, кто-нибудь знает?

Code
1
Set oCon = CreateObject('ADODB.Connection')oCon.Open 'Provider=ADsDSOObject;'Set oCom = CreateObject('ADODB.Command')oCom.ActiveConnection = oConoCom.CommandText = '<LDAP://ou=xxx,dc=xxx,dc=ru>;' & _'(&(objectCategory=person)(objectClass=user));' & _'distinguishedName;subtree'Set oRst = oCom.Execute
Ghost
04.01.2010, 12:52
Если лень думать - то я бы предложил задать сортировку для рекордсэта и переоткрыть его заново.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.01.2010, 12:52

Запуск из VBS и обратная передача аргументов из Python в VBS
Запускаю Python скрипт из VBS скрипта с аргументами (не спрашивайте почему не напрямую а именно из VBS. так надо.) VBS запускает скрипт с...

CPT - списки доступа для одностороннего доступа
А у меня вот такая проблемка с acl. Запретить доступ между вланами, и чтобы влан 6 для всех других запретить, а с влан 6 разрешить доступ...

Подскажите IDE для VBS
Подскажите программу для скриптов vbs/jscript Чтоб имела подсказки как в visual studia или Resharper уневерсальную прогу ,...

Среда разработки для Vbs
Народ скажите пожалуйста, какую среду разработки вы используется для работы с VBScript? мне надо что-нить объектно-ориентированное может...

Нужна ли лицензия для VBS
Подскажите, кто сталкивался: если Windows куплена честно по корпоративной лицензии, и для создания скрипта на VBS нечего не используется...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
48
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru