Имя: Пароль:
1C
1С v8
Из 1С в AD
0 soda_st
 
04.09.13
08:19
Пытаемся записать в Active Directory пользователя, но не получается поключиться

Пытались подключаться так:
Код

  oConnect = ПолучитьCOMОбъект("","ADODB.Connection");
        oConnect.Provider = "ADSDSOObject";
        oConnect.Properties("User ID").Value = "[email protected]";
        oConnect.Properties("Password").Value = "Zz123456";
        oConnect.Properties("Encrypt Password").Value = True;
        oConnect.Open("Active Directory Provider");
    
        Query = "SELECT Name, ADsPath FROM 'LDAP://10.1.1.12' WHERE objectCategory='User' And Name='" + Имя + "'";
        Records = oConnect.Execute(query);



и так:
Код

  oConnect = ПолучитьCOMОбъект("","ADODB.Connection");
        oConnect.Open("Provider=ADSDSOObject;User Id=test_admin@bс.ab;Password=Zz123456;");
        Query = "SELECT Name, sAMAccountName, ADsPath FROM 'LDAP://DC:bc,DC:ab/OU=BC-Users' WHERE objectCategory='User' And Name='" + Имя + "'";




и вот так:
Код

  oConnect = Новый COMОбъект("ADODB.Connection");

        oConnect.Provider = "ADSDSOObject";
        
        oConnect.Properties("User ID").value = "cn=test_admin,ou=BC-Users,dc=bc";
        oConnect.Properties("Password").value = "Zz123456";      
        oConnect.Open("ADs Provider");
  
        Query = "SELECT Name, sAMAccountName, ADsPath FROM 'LDAP://bc.ab/DC=bc,DC=ab' WHERE objectCategory='User' And Name='" + Имя + "' And sAMAccountName='"+ ИмяПредВин2000 +"'";


И еще 1000 раз как, но доходит до строки запроса и говорит:
Произошла исключительная ситуация (Active Directory): Вход в систему не произведен: имя пользователя или пароль не опознаны.
Пароль копировался уже из 1С, имя в 1С копировалось из AD, права даны всех админов каких только можно, что не так, подскажите!!!
1 Lionee
 
04.09.13
08:31
А нафига? собственно
2 vde69
 
модератор
04.09.13
08:31
3 vde69
 
модератор
04.09.13
08:32
(2)+ 100% рабочий код
4 soda_st
 
04.09.13
10:27
Рабочие, классные штуки, но там нет создать пользователя
5 soda_st
 
04.09.13
10:28
(1) Для СКД
6 soda_st
 
04.09.13
12:06
С теми граблями разобрались, теперь новые грабли:
[CODE]
dso = ПолучитьCOMОбъект("LDAP:");
obj = dso.OpenDSObject("LDAP://CN=test_admin,OU=BC-Users,DC=bc,DC=ab", "test_admin", "Zz123456", 0);
newObject = obj.Create("User", "CN=test");
newObject.SetInfo();
newObject.SetPassword("123456Zz");
newObject.AccountDisabled=0;
newObject.pwdLastSet=0;
newObject.SetInfo();
[/CODE]
теперь говорит
[QUOTE]
{Форма.Форма.Форма(78)}: Ошибка при вызове метода контекста (SetInfo)
            newObject.SetInfo();
по причине:
Произошла исключительная ситуация (Active Directory): Произошло нарушение именования.
[/QUOTE]
7 oleg_km
 
04.09.13
14:52
(6) Наверное это еще прописать нужно:

    обОС.DisplayName         = СокрЛП(Наименование);
    обОС.samAccountName     = СокрЛП(SAM);
    обОС.userPrincipalName     = СокрЛП(SAM) + "@" +
        Сред(СтрЗаменить(Сред(Владелец.DN, Найти(Владелец.DN, ",DC=")), ",DC=", "."), 2);
8 soda_st
 
05.09.13
07:54
(7) не помогло, есть ли где-нибудь описание как они должны быть именованы? На строку: newObject.Name = "test3"; говорит не верное количество параметров
9 soda_st
 
05.09.13
10:29
Ну умненькие добрые дядечки помогите. Дайте глазком взглянуть на работающий на 2008 сервере код
10 Мыш
 
05.09.13
10:34
net user username password /add
11 Мыш
 
05.09.13
10:35
Точно работает. Командная строка вообще рулит и педалит )
12 soda_st
 
05.09.13
11:10
NET USER
[имя_пользователя [пароль | *] [параметры]] [/DOMAIN]
         имя_пользователя {пароль | *} /ADD [параметры] [/DOMAIN]
         имя_пользователя [/DELETE] [/DOMAIN]
Класс!!!
а из 1С 8.2 через LDAP?
13 Базис
 
naïve
05.09.13
11:22
Вы авторизацию в домене делаете через 1С?

Где сначала возникает учётная запись?
14 Мыш
 
05.09.13
11:40
(12) Чтот не пойму, зачем LDAP нужен? Этож просто команда системы:
КомандаСистемы(<СтрокаКоманды>, <ТекущийКаталог>)
Параметры:

<СтрокаКоманды> (обязательный)

Тип: Строка.
Команда системы.
<ТекущийКаталог> (необязательный)

Тип: Строка.
Устанавливает текущий каталог на время выполнения команды.
Описание:

Вызывает на исполнение команду операционной системы, как если бы она была введена в командной строке.
15 Мыш
 
05.09.13
11:42
Да, совсем забыл. Группы пользователя устанавливать командами NET GROUP и NET LOCALGROUP
16 soda_st
 
05.09.13
13:14
(13) Нет для создания и блокировки карточек СКД создали домен и хотим автоматизировать прием и увольнение, т.е. как только отдел кадров принял сотрудника создалась запись в домене и сисадмины делают карточку СКД на сотрудника, как только уволили сисадмины удалили, автоматически карточка блокируется при увольнении и человек не может зайти в здание, вот как то так, а как там тот домен с их октограмом соединяется не подскажу
17 soda_st
 
05.09.13
13:17
(15) Спасибо большое, сейчас попробую
18 Loki Evil
 
05.09.13
13:32
Блин читаю из "1С в АД" и думаю, ну так себе переход, 1С - тоже не фига не рай :)
19 eklmn
 
гуру
05.09.13
13:36
(18) Ну если уж сам Локки мучается с 1с... тогда понятно ))
20 soda_st
 
05.09.13
13:48
(10) на локальной машине создается локальный пользователь
(18) если чертей-юзеров удалить то практически рай, только голодный
21 Мыш
 
05.09.13
17:06
(20) Внимательнее читайте описание команды. Ключ /DOMAIN как бы намекает )
22 extrim-style
 
05.09.13
17:13
(0) "Из 1С в AD". С учетом ситуации в мире звучит пророчески...
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.