powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Прошу помощи у уважаемых знатоков VBS + AD
17 сообщений из 17, страница 1 из 1
Прошу помощи у уважаемых знатоков VBS + AD
    #38841990
xBOBeRx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток, уважаемые форумчане. Я только начал изучать VBS, принцип вообщем то мне понятен, только вот не хватает знаний. Помогите пожалуйста в создании следующего скрипта.
Хочу немного облегчить рутинную работу админа. Необходимо создавать сразу 2х пользователей + 2 компа + группа + включить этих 2х пользователей в определенные группы в AD (причем обоих в разные группы), а так же добавить одному из них определенные права на определенную группу в безопасности.
У всех создаваемых объектов есть общая часть в названии. т.е.
пользователи:
CN=Пользователь1 число ,OU=users,OU=uroven1,OU=uroven1,DC=domen,DC=local
CN=Пользователь2 число ,OU=users,OU=uroven1,OU=uroven1,DC=domen,DC=local
У каждого пользователя логин: число -a и число -b соответственно.
так же каждому пользователю надо задать пароль

группа:
CN=grupp число ,OU=users,OU=uroven1,OU=uroven1,DC=domen,DC=local

компы:
CN=comp1 число ,OU=PC,OU=uroven1,OU=uroven2,DC=domen,DC=local
CN=comp2 число ,OU=PC,OU=uroven1,OU=uroven2,DC=domen,DC=local

красным шрифтом выделено число которое одинаково для всех объектов

Вот что я начал делать:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
shnum = inputbox("Введите № объекта")
strLine = shnum

DomainDN = "dc=domen, dc=local"
usrm = "CN=Пользователь1 " & strLine
usrt = "CN=Пользователь2 " & strLine
loginm = strLine & "-a"
logint = strLine & "-b"
comp1 = "CN=comp1" & strLine
comp2 = "CN=comp2" & strLine
grpshop = "CN=grupp" & strLine

Set objContainer = GetObject("LDAP: //OU=uroven2,DC=domen,DC=local")
Set objUser = objContainer.Create("User", usrm & ",OU=user,OU=uroven1")
objUser.Put "samAccountName", loginm
objUser.Put "sn", "Usser" & strLine
objUser.Put "givenName", usrm
objUser.Put "DisplayName", "Пользован" & strLine
objUser.SetPassword "12345"
objUser.AccountDisabled = False
objUser.SetInfo ()
WScript.Echo "Скрипт выполнен"



но вот уперся:
1) скрипт запускается и просит ввести данные, но после ввода и нажатия на ОК, скрипт выдает ошибку на строке 19 символ 1
2) не пойму как же дальше сделать внесение остальных данных.

Если не сложно помогите и огромная просьба учесть то что я только начал изучать VBS по этому по возможности небольшие коменты.

Заранее благодарен.
...
Рейтинг: 0 / 0
Прошу помощи у уважаемых знатоков VBS + AD
    #38842041
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xBOBeRxскрипт выдает ошибку на строке 19 символ 1Ну так не поленитесь выяснить, какая точно строка имеется в виду.

PS. У SetInfo нет входящих параметров.
...
Рейтинг: 0 / 0
Прошу помощи у уважаемых знатоков VBS + AD
    #38842046
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ошибка то какая?
...
Рейтинг: 0 / 0
Прошу помощи у уважаемых знатоков VBS + AD
    #38842054
xBOBeRx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я же написал сторока 19 символ 1, это получается вот эта строка:
Код: vbnet
1.
objUser.SetPassword "12345"


Jшибка: Такой объект на сервере отсутствует
код: 80072030
Источник: Active Directory

Еще меня смущает, правильно ли я написал вот эту строку:
Код: vbnet
1.
Set objUser = objContainer.Create("User", usrm & ",OU=user,OU=uroven1")
...
Рейтинг: 0 / 0
Прошу помощи у уважаемых знатоков VBS + AD
    #38842083
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xBOBeRxэто получается вот эта строка:Поставьте перед и после неё WScript.Echo - чтобы убедиться, что именно она.

xBOBeRxЕще меня смущает, правильно ли я написал вот эту строку:
Код: vbnet
1.
Set objUser = objContainer.Create("User", usrm & ",OU=user,OU=uroven1")


Если в переменной usrm нет начального знака равенства - то нет.
...
Рейтинг: 0 / 0
Прошу помощи у уважаемых знатоков VBS + AD
    #38842151
xBOBeRx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaxBOBeRxэто получается вот эта строка:Поставьте перед и после неё WScript.Echo - чтобы убедиться, что именно она.
Да это именно она, и если ее закомментировать то ругаться будет на следующую и так до конца
AkinaxBOBeRxЕще меня смущает, правильно ли я написал вот эту строку:
Код: vbnet
1.
Set objUser = objContainer.Create("User", usrm & ",OU=user,OU=uroven1")


Если в переменной usrm нет начального знака равенства - то нет.
Не совсем понимаю что значить начальный знак равенства, но что присваевается переменной видно в моем скрипте:
Код: vbnet
1.
usrm = "CN=Пользователь1 " & strLine
...
Рейтинг: 0 / 0
Прошу помощи у уважаемых знатоков VBS + AD
    #38842202
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Замените своё
Код: vbnet
1.
Set objUser = objContainer.Create("User", usrm & ",OU=user,OU=uroven1")


на вменяемо-отладочное
Код: vbnet
1.
2.
3.
temp = "User", usrm & ",OU=user,OU=uroven1"
WScript.Echo temp
Set objUser = objContainer.Create(temp)


и смотрите, что НА САМОМ ДЕЛЕ скармливается методу.
...
Рейтинг: 0 / 0
Прошу помощи у уважаемых знатоков VBS + AD
    #38842203
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон,

Код: vbnet
1.
2.
3.
temp = usrm & ",OU=user,OU=uroven1"
WScript.Echo temp
Set objUser = objContainer.Create("User", temp)
...
Рейтинг: 0 / 0
Прошу помощи у уважаемых знатоков VBS + AD
    #38842219
xBOBeRx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akinaи смотрите, что НА САМОМ ДЕЛЕ скармливается методу.
Так я и так прекрасно понимаю что именно скармливается и без WScript.Echo, я понимаю что получается что я пытаюсь завести в домен пользователя
Код: plaintext
CN=Пользователь1 555,OU=user,OU=uroven1
, вот только я не знаю правильно ли это, точнее я даже догадываюсь что это скорее не правильно, но как написать правильно не знаю именно по этому я и обратился сюда.
...
Рейтинг: 0 / 0
Прошу помощи у уважаемых знатоков VBS + AD
    #38842325
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xBOBeRxполучается что я пытаюсь завести в домен пользователя
Код: plaintext
CN=Пользователь1 555,OU=user,OU=uroven1
вот только я не знаю правильно ли это
Ну неправильно, есссно. Если в CN присутствует пробел, нужно значение обрамить кавычками:

Код: vbnet
1.
usrm = "CN=""Пользователь1 " & strLine & """"
...
Рейтинг: 0 / 0
Прошу помощи у уважаемых знатоков VBS + AD
    #38842431
xBOBeRx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaxBOBeRxполучается что я пытаюсь завести в домен пользователя
Код: plaintext
CN=Пользователь1 555,OU=user,OU=uroven1
вот только я не знаю правильно ли это
Ну неправильно, есссно. Если в CN присутствует пробел, нужно значение обрамить кавычками:

Код: vbnet
1.
usrm = "CN=""Пользователь1 " & strLine & """"


Это не помогло, все так же ругается на ту же строчку:
Код: vbnet
1.
objUser.SetPassword "12345"


Выводится та же ошибка:
Строка: 19
Символ: 1
Ошибка: Такой объект на сервере отсутствует
код: 80072030
Источник: Active Directory
...
Рейтинг: 0 / 0
Прошу помощи у уважаемых знатоков VBS + AD
    #38842606
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перейди в любую визуальную среду (да хоть VBA, только подключи референс на Script Runtime). View-Locals Window + пошаговое выполнение. Смотри, что есть и чего нет, правильно ли инитятся объекты, есть ли у них указанные тобой свойства и т.п...
...
Рейтинг: 0 / 0
Прошу помощи у уважаемых знатоков VBS + AD
    #38843035
xBOBeRx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понимаю что тут мне так никто и не поможет с моими вопросами.
Как я уже написал я только начал изучать VBS и что такое VBA я не знаю и уж темболее не знаю что означает подключи референс на Script Runtime и View-Locals Window. Думал что тут проявятся люди которые умеют работать с AD через VBS и подскажут что и как сделать.
...
Рейтинг: 0 / 0
Прошу помощи у уважаемых знатоков VBS + AD
    #38843226
guest123456
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xBOBeRx,

Код: vbnet
1.
2.
Set objContainer = GetObject("LDAP://OU=uroven2,DC=domen,DC=local")
Set objUser = objContainer.Create("User", usrm)
...
Рейтинг: 0 / 0
Прошу помощи у уважаемых знатоков VBS + AD
    #38843244
xBOBeRx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest123456xBOBeRx,

Код: vbnet
1.
2.
Set objContainer = GetObject("LDAP://OU=uroven2,DC=domen,DC=local")
Set objUser = objContainer.Create("User", usrm)



Так пользователь будет создаваться в uroven2, а мне надо чтобы он создавался в users которая в свою очередь находится в uroven1, а эта в uroven2. В самом начале это все описано.
...
Рейтинг: 0 / 0
Прошу помощи у уважаемых знатоков VBS + AD
    #38843615
guest123456
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xBOBeRxguest123456xBOBeRx,

Код: vbnet
1.
2.
Set objContainer = GetObject("LDAP://OU=uroven2,DC=domen,DC=local")
Set objUser = objContainer.Create("User", usrm)



Так пользователь будет создаваться в uroven2, а мне надо чтобы он создавался в users которая в свою очередь находится в uroven1, а эта в uroven2. В самом начале это все описано.
Тогда и коннектиться нужно к соответствующему контейнеру.
...
Рейтинг: 0 / 0
Прошу помощи у уважаемых знатоков VBS + AD
    #38844462
xBOBeRx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest123456Тогда и коннектиться нужно к соответствующему контейнеру.
В том то и дело что я не знаю как это сделать. Делал вот так:
Код: vbnet
1.
2.
Set objContainer = GetObject("LDAP: //OU=user,OU=uroven1,OU=uroven2,DC=domen,DC=local")
Set objUser = objContainer.Create("User", usrm)


Тогда скрипт выдает ошибку на строчку:
Код: vbnet
1.
Set objContainer = GetObject("LDAP: //OU=user,OU=uroven1,OU=uroven2,DC=domen,DC=local")



Ошибка: Такой объект на сервере отсутствует
Код: 80072030
Источник: (null)
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Прошу помощи у уважаемых знатоков VBS + AD
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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