![]() |
Произвести действия для пользователя основываясь на группе в AD
Доброго времени суток многоуважаемые.
Есть идея реализовать следующую схему: есть OU, в котором произвольное число групп. (targetGP01,targetGP02.... targetGPXX) есть набор дейсвий в CMD, название которого равно названию группы. пытаюсь обработать так: Код:
Function GpRunObject(strGpName) получить список групп из OU в массив, циклом пробежать по этому списку, проверяя вхождения пользователя, если вхождение есть вызвать функцию передав в качестве параметра имя группы. мозгов не хватает, помогите :) |
R3pl1CID, объекты групп в контейнере подразделения имеют один и тот же уровень вложенности или разные?
|
Группы в одном контейнере, увровень вложенности один и тот же.
вложение групп в друг друга и в другие группы не предпологается. OU: "TargetOU" -targetGP0 -targetGP1 -targetGPxx Так же в группах предпологаются только объекты типа пользователь. Пользователь может принадлежать нескольким группам (targetGP..) одновременно. |
Цитата:
|
Идея не лучшая, т.к. совершенно ненаглядная.
IMHO правильнее для каждого набора действий создать отдельный CMD, и ограничить политика запуска этих cmd соответствующими группами. |
DmitriiV,
Задача функции, получить парамер и запустить пакетник парметр.сmd Пример: пользователь состоит в группах Uchet и ShareU ShareU монтирует сетевой диск Uchet кладет ярлык на рабочий стол ярлычек и добавляет в реест параметры Зачем так сложно см.ниже Busla, Я отдаю себе отчет в том, что я изобретаю велосипед. Такой велосипед пишу по двум причинам 1 виртуальная среда в которой ОС отдельно ПО отдельно профили отдельно. Хотя часть всей работы делает сам ESX 2 есть WEB интрерфейс, который является стартовой страничкой пользователя. На этом интрефейсе например есть иконка Гарант, 2Гис , сетевой принтер и т.д. Пользователь ставит галочку Гарант, и сохранить (скрип который вызовет веб интерфес добавит пользователя в нужную группу и повторно запустит VBS логин скрипт) Через несколько секунд пользователь получает сервис. Скрипты определяют раздность ОС, необходимые пути и пр. в некоторых есть adminlink Через GPO тоже реализуемо, не столь наглядно для конечного пользоватаеля Нагляднось... администраторов на удаленных площадках всеравно нет. Написал так, но не работает GroupObj.name = возвращает название группы в которой пользователь состоит objGroup.Name = а вот тут попа, имя группы возвращается в виде CN=Имя группы. Код:
Function GpRunObject(strGpName) |
Цитата:
Пример одного из возможных вариантов: Код:
Dim objItem, strDomain, strUser |
DmitriiV,
Цитата:
Как все просто то! Код:
objItem.IsMember Теперь сижу с идиотской улыбкой и пытаюсь понять зачем я пытался сравнивать имена групп. DmitriiV, спасибо Вам большое за помощь! |
Время: 18:35. |
Время: 18:35.
© OSzone.net 2001-