![]() |
Пользователи определенных групп из AD с их username
Всем добрый день! Объясню задачу автоматизации. Есть 2 сервера openfire в разных xmpp доменах соединенные между собой. Пользователи и группы берутся из AD. Встала задача объединить 2 ростера, т.е чтобы пользователи 1-го xmpp домена вмдели пользователей 2-го xmpp домена. Сделать это можно либо в ручную в клиенте у каждого пользователя, либо через базу MySQL, таблицы ofRoster and ofRosterGroups https://community.igniterealtime.org...200961#200961.
Хотелось бы автоматизировать все это, т.е скрипт который 1.выбирает пользователей с их username определенных групп (CN) из AD в массив (или текстовый вид csv) в одном домене AD (xmpp - домене), потом тоже самое в другом домене AD (xmpp-домене). 2. далее алгоритм таков, в базе SQL в таблице ofRosterGroups одного домена А должны создаться строки с названием группы другого домена В по принципу, в домене А 30 пользователей, а в домене В в эту группу входит 7 пользователей, значит в домене А в базе SQL в таблице ofRosterGroups должно создаться 210 строк с названием группы домена В. Код:
INSERT INTO `ofRosterGroups`(`rosterID`, `rank`, `groupName`) VALUES ([value-1],[value-2],[value-3]) Код:
INSERT INTO `ofRoster`(`rosterID`, `username`, `jid`, `sub`, `ask`, `recv`, `nick`) VALUES ([value-1],[value-2],[value-3],[value-4],[value-5],[value-6],[value-7]) Если что-то не понятно в моем объяснение, пишите, постараюсь подробно изложить данный вопрос! |
хотел еще заметить, в таблице ofRosterGroups параметр rosterID должен быть текущее значение + 1 в цикле до значения в примере 210
|
Товарищи гуру скриптов, не ужели нет ни каких вариантов??? Может хотя бы начнем обсуждать тему?)!
|
Ну, я, скажем, не знаю ни что такое «сервер openfire», ни «xmpp домен». Что я могу тут обсуждать?!
|
Цитата:
Что нужно 1. Запросом вытащить всех пользователей и одного домена Windows и из второго домена с атрибутами: cn, sAMAccountName, userPrincipalName, а также в какой группе этот пользователь находится (будет перечень групп CN=, из этих групп взять атрибут member и записать к пользователю). Пример: Иванов Иван Иванович, Ivanov, Ivanov@domain.local + группа Все это в текстовый файл или другой формат, что бы потом можно было к этой информации обращаться. 2. В итоге должно получиться 2 файла с информацией из 2-х доменов Windows. а) создать ofRosterGroups через sql запрос Код:
INSERT INTO `ofRosterGroups`(`rosterID`, `rank`, `groupName`) VALUES ([value-1],[value-2],[value-3]) Цитата:
groupName = группа, rosterID = цикл +1, rank - постоянное значение б) потом необходимо по для первого пользователя из 1-го файла добавить всех пользователей 2-го в виде запроса sql Код:
INSERT INTO `ofRoster`(`rosterID`, `username`, `jid`, `sub`, `ask`, `recv`, `nick`) VALUES ([value-1],[value-2],[value-3],[value-4],[value-5],[value-6],[value-7]) Т.е мы к пользователям 1-го домена (из 1-го файла) по параметру username добавляем пользователей 2-го домена (из 2-го файла) по параметрам jid = userPrincipalName 2-го домена, nick = cn 2-го домена, rosterID = группы 2-го домена |
Ау товарищи гуру!!!
|
Время: 00:01. |
Время: 00:01.
© OSzone.net 2001-