| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Axapta и ActiveDirectory
			 
			
			Коллеги - не подскажите насколько реально синхронизировать ActiveDirectory и Аксапту? Например внутренний телефон и мыло ? И если знаете, то приведите пример если нетрудно
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Уже сам нашел - ActiveDirectoryEmplTable  (класс)
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А вот как бы в обратную сторону, ну к примеру в ActiveDirectory сменить инфу?  
		
		
		
		
		
		
		
	 
		 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Занимался этой проблемой. Ничего для работы с AD кроме системного класса ADObject не нашел. К сожалению, он весьма убогий по функциональности.  
		
		
		
		
		
		
		
	Задача у меня была не только получать данные из AD, но и иногда проверять авторизацию в AD, на основе пользователей генерить пользователей Axapta, web-пользователей, сотрудников и т.д. В итоге пришлось брать внешние com-компоненты для работы с LDAP, писать в Axapta оболочку для них + форму настройки/синхронизации БД пользователей Axapta и БД пользователей из AD. Сейчас все это и использую, но тут есть необходимость компоненты регистрировать на машине, где работает Axapta. Если интересует могу выложить проект.  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Было бы интересно глянуть...
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 Цитата: 
	
		
			Сообщение от Romb
			
			 
В итоге пришлось брать внешние com-компоненты для работы с LDAP. Сейчас все это и использую, но тут есть необходимость компоненты регистрировать на машине, где работает Axapta. 
		
	  
		 | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Насчет ADSI согласен. Тоже сначала попытался использовать родные средства, но сходу не получилось.  
		
		
		
		
		
		
		
	Компоненты от Novell мне показались более понятными, времени было мало, в общем я их и стал использовать. Вообще, если есть примеры использования ADSI в Axapta, то они бы были полезными для всех. Переложить reference c сайта microsoft на код Axapta я не смог.  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Обещанный проект выложить для всех, к сожалению не могу, т.к. это оказывается наша интеллектуальная собственность. ;( 
		
		
		
		
		
		
		
	Кому интересно, кидайте мыло, вышлю в индивидуальном порядке, в тайной переписке.  
		 | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от 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). | |
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			И всё же, есть интересный такой интерфейсик, как IADs, впринципе он всё делает, но вот методы Put(Ex) Get(Ex) работать отказываются, как с ними быть? 
		
		
		
		
		
		
		
	Это я к тому, что не хочется делать дополнительные компоненты  
		 | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Или подскажите, где можно прочитать об этом именно для обновления данных в AD через Axapta. Последний раз редактировалось gimer; 24.05.2012 в 11:41.  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Цитата: 
	
 | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: gimer (1). | |
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Я не очень разбираюсь в настройках прав доступа, поэтому можно еще пояснить? 
		
		
		
		
		
		
		
	Я хочу обновить значение атрибута employeeID у пользователя AD, который связан в AX с сотрудником через пользовательские данные. Все вроде хорошо, но когда я пытаюсь сохранить изменения, то по логам я вижу, что ldap говорит, что access denied. Обновление запускается через runas() от имени определенного пользователя, которому вроде все права прописали (дошло уже до того, что временно его даже включали в группу Domain admins), но это не помогает. Отсюда у меня вопрос - где конкретно мне нужно задать права на запись атрибутов для определенного пользователя? Заранее спасибо.  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Когда я тестировал на виртуалке, на которой были установлены сервер, скуль и AX, именно по такому алгоритму у меня все отработало, правда только в том случае, если я запускал от имени пользователя, связанного с учетной записью Administrator. Теперь, когда тестирую уже на распределенной системе, возникает именно такая проблема, которую я описал в предыдущих постах.  | 
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Это, потому что функция runas() подменяет контекст только внутри аксапты. Работа в Windows будет по прежнему происходить от имени исходного пользователя. А как иначе?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#17 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Я наверно неправильно выразился. Входил я в систему под другим пользователем, соответственно и в AX, а потом уже в AX я запускал runas() от имени Administrator и все успешно обновлялось
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| Теги | 
| active directory | 
| 
	
	 | 
	
		
  |