AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.04.2005, 17:35   #1  
Nikolaich is offline
Nikolaich
Участник
 
238 / 10 (1) +
Регистрация: 15.12.2004
Axapta и ActiveDirectory
Коллеги - не подскажите насколько реально синхронизировать ActiveDirectory и Аксапту? Например внутренний телефон и мыло ? И если знаете, то приведите пример если нетрудно
Старый 19.04.2005, 17:46   #2  
Nikolaich is offline
Nikolaich
Участник
 
238 / 10 (1) +
Регистрация: 15.12.2004
Уже сам нашел - ActiveDirectoryEmplTable (класс)
Старый 24.03.2006, 10:56   #3  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
А вот как бы в обратную сторону, ну к примеру в ActiveDirectory сменить инфу?
Старый 24.03.2006, 11:23   #4  
Romb is offline
Romb
Участник
Аватар для Romb
 
79 / 22 (1) +++
Регистрация: 06.01.2004
Занимался этой проблемой. Ничего для работы с AD кроме системного класса ADObject не нашел. К сожалению, он весьма убогий по функциональности.

Задача у меня была не только получать данные из AD, но и иногда проверять авторизацию в AD, на основе пользователей генерить пользователей Axapta, web-пользователей, сотрудников и т.д. В итоге пришлось брать внешние com-компоненты для работы с LDAP, писать в Axapta оболочку для них + форму настройки/синхронизации БД пользователей Axapta и БД пользователей из AD. Сейчас все это и использую, но тут есть необходимость компоненты регистрировать на машине, где работает Axapta. Если интересует могу выложить проект.
Старый 24.03.2006, 11:26   #5  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Было бы интересно глянуть...
Старый 24.03.2006, 15:23   #6  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Lightbulb
Цитата:
Сообщение от Romb
В итоге пришлось брать внешние com-компоненты для работы с LDAP. Сейчас все это и использую, но тут есть необходимость компоненты регистрировать на машине, где работает Axapta.
Внешние компоненты? Одним из наиболее прямых путей работы с AD через LDAP, по-моему, является ADSI, а для него ничего дополнительно регистрировать не нужно (за исключением NT4, но на ней, думаю, мало кто будет запускать аксапту) - в w2k/wxp/w2k3 уже все есть
Старый 30.03.2006, 05:12   #7  
Romb is offline
Romb
Участник
Аватар для Romb
 
79 / 22 (1) +++
Регистрация: 06.01.2004
Насчет ADSI согласен. Тоже сначала попытался использовать родные средства, но сходу не получилось.

Компоненты от Novell мне показались более понятными, времени было мало, в общем я их и стал использовать.

Вообще, если есть примеры использования ADSI в Axapta, то они бы были полезными для всех. Переложить reference c сайта microsoft на код Axapta я не смог.
Старый 30.03.2006, 05:28   #8  
Romb is offline
Romb
Участник
Аватар для Romb
 
79 / 22 (1) +++
Регистрация: 06.01.2004
Обещанный проект выложить для всех, к сожалению не могу, т.к. это оказывается наша интеллектуальная собственность. ;(

Кому интересно, кидайте мыло, вышлю в индивидуальном порядке, в тайной переписке.
Старый 30.03.2006, 10:49   #9  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Dronas
А вот как бы в обратную сторону, ну к примеру в ActiveDirectory сменить инфу?
Зависит от того, какую инфу требуется сменить. По большому счету, легко (при наличии нужных прав в домене ) меняется все, единственно, с чем возникает геморрой, - это завязки с Exchange, т.е. создание/удаление контактов, изменение емыльных адресов и т.п. Это все необходимо делать, например, через CDOEXM (Collaboration Data Objects for Exchange Management). Если кому-то понадобится, могу кинуть пример кода на vbs для создания, что называется, mail-enabled контакта/пользователя в AD (коим обычный пользователь IADsUser с установленным mail не является). Hint: текущее значение и изменение значения IADsUser.mail не производит на Ms Exchange абсолютно никакого впечатления, это чисто информативное поле.
А вообще, есть такая замечательная вещь как ADSI Scriptomatic - приблуда, генерящая скрипты на vbs для работы с ADSI в зависимости от того, что именно вам нужно сделать: прочитать данные о пользовател/группе/OU и т.п. Для изменения данных о пользователях/etc в этих скриптах достаточно get заменить на set и указать нужные значения.
За это сообщение автора поблагодарили: Ivanhoe (5).
Старый 13.04.2006, 13:57   #10  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
И всё же, есть интересный такой интерфейсик, как IADs, впринципе он всё делает, но вот методы Put(Ex) Get(Ex) работать отказываются, как с ними быть?

Это я к тому, что не хочется делать дополнительные компоненты
Старый 24.05.2012, 11:38   #11  
gimer is offline
gimer
Участник
 
5 / 10 (1) +
Регистрация: 08.04.2008
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Зависит от того, какую инфу требуется сменить. По большому счету, легко (при наличии нужных прав в домене ) меняется все
Подскажите - а какие права должны быть у пользователя, от которого запускается обновление данных в AD (Windows Server 2008)? Просто у меня происходит затык именно при попытке обновить данные. Выдается - Access denied.
Или подскажите, где можно прочитать об этом именно для обновления данных в AD через Axapta.

Последний раз редактировалось gimer; 24.05.2012 в 11:41.
Старый 24.05.2012, 12:37   #12  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от gimer Посмотреть сообщение
Подскажите - а какие права должны быть у пользователя, от которого запускается обновление данных в AD?
Смотря каких данных... С таким же успехом можно спросить, какие должны быть права для изменения того или иного произвольного файла в корпоративной сети. У каждого объекта в AD свой набор прав доступа, определяющих, кто и что с ним может делать, эти права, как и в случае с файловой системой, могут наследоваться, есть определенные права по умолчанию, но все равно для произвольно взятого объекта AD нельзя сказать, какие именно нужны права для его изменения (если только вы не входите в группу Domain Admins - в последнем случае обычно прав хватит почти на все).
Цитата:
Сообщение от gimer Посмотреть сообщение
Или подскажите, где можно прочитать об этом именно для обновления данных в AD через Axapta.
Тут не важно, через что обновлять данные, важно, какие права есть у учетной записи, под которой осуществляется доступ к AD. Для того или иного объекта права доступа можно, к примеру, узнать с помощью ADSI Edit
За это сообщение автора поблагодарили: gimer (1).
Старый 24.05.2012, 13:02   #13  
gimer is offline
gimer
Участник
 
5 / 10 (1) +
Регистрация: 08.04.2008
Я не очень разбираюсь в настройках прав доступа, поэтому можно еще пояснить?
Я хочу обновить значение атрибута employeeID у пользователя AD, который связан в AX с сотрудником через пользовательские данные. Все вроде хорошо, но когда я пытаюсь сохранить изменения, то по логам я вижу, что ldap говорит, что access denied.
Обновление запускается через runas() от имени определенного пользователя, которому вроде все права прописали (дошло уже до того, что временно его даже включали в группу Domain admins), но это не помогает.
Отсюда у меня вопрос - где конкретно мне нужно задать права на запись атрибутов для определенного пользователя?

Заранее спасибо.
Старый 24.05.2012, 13:28   #14  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от gimer Посмотреть сообщение
Обновление запускается через runas()
Runas - в смысле аксаптовский runas? А с чего вы взяли, что привилегии, которые он даёт распространяются и на операционную систему? Или я что-то не так понял?
Старый 24.05.2012, 14:01   #15  
gimer is offline
gimer
Участник
 
5 / 10 (1) +
Регистрация: 08.04.2008
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Runas - в смысле аксаптовский runas? А с чего вы взяли, что привилегии, которые он даёт распространяются и на операционную систему? Или я что-то не так понял?
В AX добавлен пользователь AD, для которого задаются соответствующие права. И потом я хочу выполнить обновление данных учетки в AD любого пользователя, который связан с сотрудником в AX. Именно для этого и запускаю от имени пользователя, для которого будут заданны соответствующие права.

Когда я тестировал на виртуалке, на которой были установлены сервер, скуль и AX, именно по такому алгоритму у меня все отработало, правда только в том случае, если я запускал от имени пользователя, связанного с учетной записью Administrator.
Теперь, когда тестирую уже на распределенной системе, возникает именно такая проблема, которую я описал в предыдущих постах.
Старый 24.05.2012, 14:16   #16  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от gimer Посмотреть сообщение
все отработало, правда только в том случае, если я запускал от имени пользователя, связанного с учетной записью Administrator.
Это, потому что функция runas() подменяет контекст только внутри аксапты. Работа в Windows будет по прежнему происходить от имени исходного пользователя. А как иначе?
Старый 24.05.2012, 14:31   #17  
gimer is offline
gimer
Участник
 
5 / 10 (1) +
Регистрация: 08.04.2008
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Это, потому что функция runas() подменяет контекст только внутри аксапты. Работа в Windows будет по прежнему происходить от имени исходного пользователя. А как иначе?
Я наверно неправильно выразился. Входил я в систему под другим пользователем, соответственно и в AX, а потом уже в AX я запускал runas() от имени Administrator и все успешно обновлялось
Теги
active directory

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axaptabuilder: How to build Axapta application from XPO files stored in Visual Source Safe. Blog bot DAX Blogs 0 12.04.2007 16:10
axaptabuilder: How to build Axapta application from XPO files stored in Visual Source Safe. Blog bot DAX Blogs 0 22.11.2006 15:20
Axapta и Ин. языки SIRS DAX: Администрирование 4 01.03.2006 10:02
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:25.