|
Получить инфу о пользователе из AD | ☑ | ||
---|---|---|---|---|
0
ДенисЧ
12.01.09
✎
11:52
|
Как можно из AD получить информацию о пользователе по его логин-имени?
Всё это из 7.7, разумеется... |
|||
1
smaharbA
12.01.09
✎
11:55
|
net user Вася /domain
не пойдет ? |
|||
2
ДенисЧ
12.01.09
✎
11:57
|
Хотелось бы в несколько более объектном виде :-)
|
|||
3
vde69
12.01.09
✎
11:58
|
ПолучитьCOMОбъект("WinNT://" + СокрЛП(ИмяДомена))
|
|||
4
ДенисЧ
12.01.09
✎
11:59
|
(3) Не ожидал от тебя...
|
|||
5
vde69
12.01.09
✎
12:00
|
(4) почему? весь код не даю, ибо под 8 заточен
|
|||
6
ДенисЧ
12.01.09
✎
12:00
|
(5) Написал же "Всё это из 7.7, разумеется.".
А в 7.7 нет ПолучитьСОМОбъект() |
|||
7
vde69
12.01.09
✎
12:01
|
можно например так
Процедура ЗаполнитьПочтовыеАдресаИзAD() Попытка conn = ПолучитьCOMОбъект("","ADODB.Connection"); conn.Provider = "ADSDSOObject"; conn.Open("Active Directory Provider"); Исключение Предупреждение("Ошибка подключения к Active Directory!"); Возврат; КонецПопытки; Для Каждого Стр из Таблица Цикл Если НЕ ПустаяСтрока(Стр.Логин) Тогда Попытка query = "SELECT ADsPath FROM 'LDAP://DC="+СокрЛП(Домен.Код)+"' WHERE SAMAccountName='"+Стр.Логин+"'"; rs = conn.Execute(query); Пока НЕ rs.EOF() Цикл obj = ПолучитьCOMОбъект(rs.Fields(0).Value); Если obj.Class="user" Тогда Стр.НоваяПочта=СокрЛП(obj.EmailAddress); Если Стр.НоваяПочта<>Стр.СтараяПочта Тогда Стр.Установить=Истина; КонецЕсли; КонецЕсли; rs.MoveNext(); КонецЦикла; Исключение Сообщить("Ошибка получения почты для логина :"+Стр.Логин); КонецПопытки; КонецЕсли; КонецЦикла; conn.Close(); КонецПроцедуры |
|||
8
vde69
12.01.09
✎
12:01
|
(6) переделаешь, там не много
|
|||
9
vde69
12.01.09
✎
12:02
|
(7) надеюсь ADO по 77 переведешь :)
|
|||
10
smaharbA
12.01.09
✎
12:05
|
адо довольно тормознутое
|
|||
11
skunk
12.01.09
✎
12:06
|
а чем всх не устраивает?
|
|||
12
vde69
12.01.09
✎
12:07
|
(10) согасен, зато доступ ко всем полям есть, а WinNT - быстрее, но часть полей недоступно (например почта)
|
|||
13
ДенисЧ
12.01.09
✎
12:07
|
(9) Посмотрю, спасибо.
(11) пример? |
|||
14
skunk
12.01.09
✎
12:18
|
(c)тырено |
|||
15
skunk
12.01.09
✎
12:20
|
могу всю обработку кинуть откуда стырено
|
|||
16
ДенисЧ
12.01.09
✎
12:21
|
(15) Этого достаточно. Буду разбираться...
|
|||
17
vde69
12.01.09
✎
12:25
|
(14) winmgmts:{ImpersonationLevel=Impersonate}!
это примерно то-же, что и WinNT вроде там то-же не все поля доступны |
|||
18
skunk
12.01.09
✎
12:33
|
(17)должны быть все ... wmi в принципе для этого и создовалась... для автоматизации управления и прочая хня
|
|||
19
smaharbA
12.01.09
✎
13:35
|
в вми есть плюс очень неплохой для 1с и прочих текстов
можно получить все записи и поля как текст со знаком = |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |