|
v7: ldap, как получить список групп у пользователя? | ☑ | ||
---|---|---|---|---|
0
aptomilov
12.09.11
✎
08:04
|
Перебираю список пользователей, и получаю все необходимые поля кроме memberof, в нем содержатся перечень групп в которые входит пользователь.
Как получить этот перечень ума не приложу. |
|||
1
aptomilov
12.09.11
✎
12:42
|
Отвечаю
функция СтрокаГрупПользовтаеля(стрЗначение) Ответ=""; попытка олеСкрипт = СоздатьОбъект("MSScriptControl.ScriptControl"); олеСкрипт.Language = "VBScript"; олеСкрипт.AddCode(" |Function SpisGroup |Set objGroup = GetObject (""LDAP://cn="+стрЗначение+", OU=StaffChe,OU=Users,OU=MyBusiness,DC=interpolis,DC=local"") |objGroup.GetInfo |arrMemberOf = objGroup.GetEx(""memberOf"") |For Each strMember in arrMemberOf |Set objUser = GetObject(""LDAP://"" & strMember) |str=str & "" @ "" & objUser.samaccountname |Next |SpisGroup=str |End Function |"); Ответ= олеСкрипт.Run("SpisGroup"); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; возврат Ответ; КонецФункции Функция РазобратьГруппыПользователяВсписок(ПользовательИзАДА) СтрокаГрупп=СтрокаГрупПользовтаеля(ПользовательИзАДА); Если СтрокаГрупп<>"" Тогда СписокГруппПользователя=СоздатьОбъект("СписокЗначений"); ДлиннаСтроки=СтрДлина(СтрокаГрупп); МногострочнаяСтрокаГрупп=СтрЗаменить(СтрокаГрупп,"@",РазделительСтрок); //Сообщить(ДлиннаСтроки); Для я=1 По СтрКоличествоСтрок(МногострочнаяСтрокаГрупп) Цикл СтрокаИзМногстрочногоТекста=СтрПолучитьСтроку(МногострочнаяСтрокаГрупп,я); Если Найти(Врег(СтрокаИзМногстрочногоТекста),"1С") <> 0 Тогда ТабГруппПользователей.НоваяСтрока(); ТабГруппПользователей.Пользователь=ПользовательИзАДА; ТабГруппПользователей.Признак="База1С"; ТабГруппПользователей.Группа=СокрЛП(СтрокаИзМногстрочногоТекста); ИначеЕсли Найти(Врег(СтрокаИзМногстрочногоТекста),"SMS") <> 0 Тогда ТабГруппПользователей.НоваяСтрока(); ТабГруппПользователей.Пользователь=ПользовательИзАДА; ТабГруппПользователей.Признак="СМС"; ТабГруппПользователей.Группа=СокрЛП(СтрокаИзМногстрочногоТекста); Иначе ТабГруппПользователей.НоваяСтрока(); ТабГруппПользователей.Пользователь=ПользовательИзАДА; ТабГруппПользователей.Признак="Неопределено"; ТабГруппПользователей.Группа=СокрЛП(СтрокаИзМногстрочногоТекста); КонецЕсли; КонецЦикла; КонецЕсли; КонецФункции |
|||
2
andrewks
12.09.11
✎
13:10
|
ПользовательИзАДА
О_о |
|||
3
Lepochkin
12.09.11
✎
13:26
|
Тебе нужно просто список групп пользователя из олешной базы получить? Зачем для этого скрипты? Штатно ведь все делается...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |