|
Создать пользователя в Active Directory из 1С | ☑ | ||
---|---|---|---|---|
0
sergey198
19.07.11
✎
08:51
|
Привет.
Посмотрел на форуме, написал: SuperUser = "Полльзователь"; SuperUserPWD = "Пароль"; strOU = "OU=Users,"; //это группа в AD objRootLDAP = ПолучитьCOMОбъект("LDAP://rootDSE"); strDC = objRootLDAP.Get("defaultNamingContext"); DS = ПолучитьCOMОбъект("LDAP:"); objContainer = DS.OpenDSObject("LDAP://" + strOU + strDC, SuperUser, SuperUserPwd, 0); Выдает произошла исключительная ошибка. Платформа 8.2. С чем это связано? |
|||
1
ДенисЧ
19.07.11
✎
08:55
|
А ОписаниеОшибки() что говорит?
|
|||
2
sergey198
19.07.11
✎
08:58
|
"{Форма.Форма.Форма(115)}: Ошибка при вызове метода контекста (OpenDSObject): Произошла исключительная ситуация (0x80072030)"
|
|||
3
ДенисЧ
19.07.11
✎
09:03
|
В попытку заключи и в исключении выведи ОписаниеОшибки()
|
|||
4
sergey198
19.07.11
✎
09:07
|
SuperUser = "пользователь";
SuperUserPWD = "пароль"; strOU = "OU=Users,"; objRootLDAP = ПолучитьCOMОбъект("LDAP://rootDSE"); strDC = objRootLDAP.Get("defaultNamingContext"); DS = ПолучитьCOMОбъект("LDAP:"); Попытка objContainer = DS.OpenDSObject("LDAP://" + strOU + strDC, SuperUser, SuperUserPwd, 0); Исключение СодержаниеОшибки = ОписаниеОшибки(); КонецПопытки; СодержаниеОшибки = Ошибка при вызове метода контекста (OpenDSObject): Произошла исключительная ситуация (0x80072030)" |
|||
5
sergey198
19.07.11
✎
09:08
|
strOU = "OU=Users,"; //это группа в AD
Тип Users - Контейнер. Все верно вроде |
|||
6
Дикообразко
19.07.11
✎
09:18
|
права то есть?
|
|||
7
sergey198
19.07.11
✎
09:19
|
Права есть точно.
|
|||
8
Дикообразко
19.07.11
✎
09:22
|
может это?
http://scarm-blog.livejournal.com/9950.html |
|||
9
sergey198
19.07.11
✎
09:34
|
Что посмотрел нето...
|
|||
10
sergey198
19.07.11
✎
09:43
|
Пробую так
Пользователь="пользователь"; Пароль="пароль"; ДСО=ПолучитьCOMОбъект("LDAP:"); ОУ=ДСО.OpenDSObject("LDAP://OU=Users, dc=local,dc=ud", Пользователь, Пароль,1); Тоже самое исключительная ошибка.. |
|||
11
smaharbA
19.07.11
✎
09:59
|
Моя семерошник, меняй чо надо на ваши енумераторы, а так - рабочий на восьмерке:
|
|||
12
sergey198
19.07.11
✎
10:00
|
Понял щас попробую
|
|||
13
sergey198
19.07.11
✎
10:12
|
Список получаю..теперь надо подумать как добавить пользователя..
|
|||
14
Aprobator
19.07.11
✎
10:18
|
создание пользователя домена из 1С - ки? Офигеть, чего только из 1Сины не пытаются сделать.
|
|||
15
smaharbA
19.07.11
✎
10:18
|
|
|||
16
sergey198
19.07.11
✎
10:31
|
Пользователь.SetInfo();
Ругается опять..пишет исключительная ситуация |
|||
17
Aprobator
19.07.11
✎
10:32
|
у пользователя под которым это делается права админа домена есть?
|
|||
18
sergey198
19.07.11
✎
10:35
|
Захожу в группу users нахожу себя там, смотрю "членн групп" Администратор домена присутсвует.
|
|||
19
DrMabuzo
19.07.11
✎
10:38
|
ось какая?
|
|||
20
sergey198
19.07.11
✎
10:39
|
сервер 2003
|
|||
21
sergey198
19.07.11
✎
10:40
|
objUser = objContainer.Create("User", strCN);
objUser.Put("userPrincipalName" , strSam + "@" + strDomain); objUser.Put("sAMAccountName" ,strSam); objUser.SetInfo(); //Вот тут вырубается непойму почему |
|||
22
DrMabuzo
19.07.11
✎
10:47
|
Функция ДобавитьПользователяВГруппуДомена (ИмяДомена, ИмяГруппы, ИмяПользователя) Экспорт
Результат = Ложь; element_user = ""; element_group = ""; Попытка element_user = ПолучитьCOMОбъект("WinNT://" + ИмяДомена + "/" + ИмяПользователя + ", user"); element_group = ПолучитьCOMОбъект("WinNT://" + ИмяДомена + "/" + ИмяГруппы + ", group"); element_group.Add(element_user.ADsPath); element_group.SetInfo(); Результат = Истина; Исключение Результат = Ложь; КонецПопытки; Возврат Результат; КонецФункции |
|||
23
sergey198
19.07.11
✎
10:59
|
(22) имя домена у меня local.dc
Имя пользователя (нового) ставлю например "вася" Имя группы "Users" На первой попытке выдитает сразу.. |
|||
24
DrMabuzo
19.07.11
✎
11:04
|
а ты руками этого пользователя в этой группе пробовал создавать?
|
|||
25
sergey198
19.07.11
✎
11:04
|
нет щас попробую.
|
|||
26
sergey198
19.07.11
✎
11:07
|
Блин точно ,пишет..проверьте минимум символов в пароле..А где это можно посмотреть, какая длина пароля должна быть?
|
|||
27
DrMabuzo
19.07.11
✎
11:10
|
в групповых политиках можно, но только не поломай ничего
|
|||
28
sergey198
19.07.11
✎
11:14
|
минимум 7 щас попробую.
|
|||
29
sergey198
19.07.11
✎
11:15
|
а как пароль запихнуть?
|
|||
30
DrMabuzo
19.07.11
✎
11:18
|
//видимо перед
element_group.SetInfo(); //надо писать element_user.SetPassword("ПАРРРРРООООЛЬЬЬЬЙИЩЩЕЕ"); |
|||
31
aleks-id
19.07.11
✎
11:20
|
SuperUser = "логин_админа";
SuperUserPWD = "пароль_админа"; strOU = "OU=Admins,"; objRootLDAP = ПолучитьCOMОбъект("LDAP://rootDSE"); strDC = objRootLDAP.Get("defaultNamingContext"); DS = ПолучитьCOMОбъект("LDAP:"); objContainer = DS.OpenDSObject("LDAP://" + strOU + strDC, SuperUser, SuperUserPwd, 0); а после этого уже мути с objContainer |
|||
32
sergey198
19.07.11
✎
11:27
|
Непойму
SuperUser = "Пользователь"; SuperUserPWD = "пароль"; strOU = "CN=Bses,"; objRootLDAP = ПолучитьCOMОбъект("LDAP://rootDSE"); strDC = objRootLDAP.Get("defaultNamingContext"); DS = ПолучитьCOMОбъект("LDAP:"); objContainer = DS.OpenDSObject("LDAP://CN=Bosses,CN=Users,DC=local,DC=uden", SuperUser, SuperUserPwd, 0); objUser = objContainer.Create("User", strCN); objUser.Put("userPrincipalName" , strSam + "@" + strDomain); objUser.Put("sAMAccountName" ,strSam); objUser.SetInfo();//Доходит до сюда и валится. |
|||
33
smaharbA
19.07.11
✎
11:29
|
|
|||
34
sergey198
19.07.11
✎
11:41
|
Пользователь.SetInfo();
И вылитает..что за.... |
|||
35
sergey198
19.07.11
✎
11:55
|
Все заработало!!! Спасибо.
|
|||
36
smaharbA
19.07.11
✎
12:15
|
|
|||
37
sergey198
19.07.11
✎
12:49
|
а как удалить если есть такая запись?
Записи=Соединение.Execute(ТекстЗапросаОтбор); Если Записи.RecordCount > 0 Тогда Сообщить("Есть уже нафиг - " + Имя); Возврат; КонецЕсли; |
|||
38
sergey198
19.07.11
✎
12:52
|
Подразделение.Delete("user", "CN="+Имя);
Понял |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |