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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.07.2009, 17:55   #5  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Post
Я сделал немного по другому, с использованием SQL Server

1) Создал связанный сервер
PHP код:
EXEC sp_addlinkedserver 'ADSI''Active Directory Services 2.5''ADSDSOObject''adsdatasource' 
Настроил сопоставление пользователей локального и доменного на вкладке Безопасность в свойствах 'ADSI'.
Локальный - это sql пользователь под которым Аксапта 3.0 подключается БД.
Удаленный - это доменный пользователь, кто может читать AD.
Нажмите на изображение для увеличения
Название: 01.07.png
Просмотров: 504
Размер:	39.2 Кб
ID:	4828 Нажмите на изображение для увеличения
Название: 02.07.png
Просмотров: 524
Размер:	43.9 Кб
ID:	4829

2) Создал хранимую процедуру в БД. Параметр DOMAIN - это полное имя домена в нашей сети.
PHP код:
CREATE PROCEDURE dbo.sp_GetListUserAD
AS
BEGIN
    SET NOCOUNT ON
;

    
SELECT samaccountnamegivennamesndisplayNamemail
    FROM openquery
(ADSI
    
'SELECT samaccountname, givenname,sn, displayName, mail
      FROM ''LDAP://DOMAIN'' WHERE objectCategory=''person'' AND objectClass=''user'' '
)
    
WHERE samaccountname IS NOT NULL AND mail IS NOT NULL 
    ORDER BY samaccountname
;

END
GO 
3) В Аксапте сделал пример Job:
X++:
static void Job_ViewUsers()
{
    Connection  con = new Connection();
    Statement   stmt = con.createStatement();
    ResultSet   resultSet;
    str sqlExpression = "EXEC sp_GetListUserAD";
    ;
    resultSet = stmt.executeQuery(sqlExpression);
    while (resultSet.next())
    {
    //SELECT samaccountname, givenname, sn, displayName, mail
        info(strfmt('Login = %1, Имя = %2, Фамилия = %3, ФИО = %4, E-mail = %5' ,resultSet.getString(1), resultSet.getString(2), resultSet.getString(3), resultSet.getString(4), resultSet.getString(5)));
    }
}
Источники: Проблема с SQL запросом
http://www.sql.ru/forum/actualthread...y+adsi#7194114

Последний раз редактировалось Poleax; 01.07.2009 в 17:58.
За это сообщение автора поблагодарили: sukhanchik (3).
Теги
active directory, ado, ax3.0, sql, доменный пользователь, хранимые процедуры

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
gatesasbait: Dynamics AX 2009 SSRS and SSAS Integration Tips Blog bot DAX Blogs 3 09.07.2009 13:07
Dynamics AX: Managing Your Supply Chain Using Microsoft Dynamics AX 2009 - Book Review Blog bot DAX Blogs 0 31.03.2009 23:06
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47
Arijit Basu: Reporting & BI in AX: An Overview [Level 100] Blog bot DAX Blogs 0 07.01.2008 16:01

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

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

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