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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.09.2006, 08:47   #1  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
А какому контейнеру в AD принадлежат эти пользователи? Случаем не базовому контейнеру Users? Если так, то необходимо проверять методы в классе импорта. Увы, у меня AX4 нет.
Старый 15.03.2007, 15:22   #2  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5803 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Lemming Посмотреть сообщение
служба каталогов Active Directory работает на базе ОС Windows 2000. На форме Users есть кнопочка импорт, она позволяет импортировать пользователей из списка пользователей указанного домена Active Directory. Так вот, при использовании этого мастера, в списке пользователей, я вижу только несколько служб, а так же пользователей, которые так или иначе занимаются администрированием нашего домена.
Очень интересно было бы еще узнать, на чем крутится сам AOS - Win2000 или Win2003.
Цитата:
Сообщение от KiselevSA Посмотреть сообщение
А какому контейнеру в AD принадлежат эти пользователи? Случаем не базовому контейнеру Users? Если так, то необходимо проверять методы в классе импорта. Увы, у меня AX4 нет.
Дело вовсе не в контейнерах AD, поскольку класс xAxaptaUserManager, используемый в мастере добавления пользователей, делает рекурсивную выборку объектов класса user категории person по всему домену, возвращаемому rootDSE.defaultNamingContext.
Выборку эту можно смоделировать, например, с помощью VBScript и ADSI. Во вложении - два скрипта, которые я использовал для экспериментов. Рабочий скрипт (adsi-list-user-account-groups.vbs) производит выборку, аналогичную той, что делает xAxaptaUserManager, и пишет краткую информацию о выбранных пользователях в текстовый файл; установочный скрипт (adsi-list-user-account-install.vbs) используется для установки рабочего скрипта в качестве сервиса. Сервис нужен для запуска скрипта под аккаунтом LocalSystem (при установке на w2k) либо Network Service (на wxp/w2k3), т.е. теми, которые использует по умолчанию сервис AOS.
Особенности установки сервиса:
  • Для установки и запуска скрипта как сервиса необходимо наличие в системном каталоге виндов утилиты srvany.exe. Если ее нет, то можно взять из Windows Server 2003 Resource Kit;
  • При установке рабочий скрипт копируется из каталога, откуда запускается установочный скрипт, в каталог %windir%\temp. Необходимо иметь соотв. права на создание нового сервиса и на запись в указанный каталог;
  • Сервис будет писать выходной файл в каталог %windir%\temp. При установке на wxp/w2k3 необходимо обеспечить для этого каталога необходимые права для NT Authority\Network Service. Мне хватало Create Files/Write Data;
  • Оба скрипта используют WMI; необходимо, чтобы на компьютере, где они выполняются, была запущена служба "Windows Management Instrumentation";
  • Чтобы удалить установленный сервис, достаточно запустить скрипт установки с каким-нибудь параметром, при этом скопированный в %windir%\temp рабочий скрипт также будет удален.
Собственно, сервис просто запускает cscript с указанием рабочего скрипта в качестве параметра, при этом создается выходной файл, и затем работа cscript завершается. После этого сервис (srvany) будет продолжать висеть как запущенный, хотя реально он уже никакой работы не выполняет - его можно спокойно остановить. Главное, не останавливать слишком быстро после запуска, иначе srvany прибъет порожденный процесс cscript, и в выходной файл попадут не все данные. К слову, при запуске под обычным пользователем выходной файл создается в каталоге %temp%.
В домене с несколькими сотнями пользователей, удовлетворяющими критериям выборки, создание выходного файла может занимать до 10-15 секунд, при этом если на одной машине запустить несколько экземпляров скрипта одновременно, то это время существенно возрастет.
Так вот, что, собственно получилось у меня. Я проводил тестирование на 3-х разных доменах: один с доменными контроллерами под управлением w2k, один с w2k/w2k3 доменными контроллерами, и один - только с доменными контроллерами w2k3, при этом все домены работают в windows 2000 native mode (см. kb322692). Сбор сведений производился с серверов под управлением w2k sp4 и w2k3 sp1, с правами пользователей LocalSystem, Network Service (только под w2k3), доменного администратора и простого доменного пользователя. Скажу сразу, что запускать скрипт в качестве сервиса непосредственно на доменных контроллерах бессмысленно: дело в том, что в случае DC аккаунт LocalSystem имеет полный доступ к AD, кроме того, вряд ли кто-то станет устанавливать AOS на DC. На картинке приведены результаты тестирования, цифры - количество пользователей, попавших в выборку рабочего скрипта. Разница между 21 и 22 пользователями в случае доменов w2k связана с тем, что при использовании аккаунта доменного пользователя он сам тоже попал в выборку, а и получилось на 1 объект больше, чем при использовании LocalSystem.
На какие мысли наталкивают полученные результаты? Ответ, похоже, можно найти в MSDN (раздел How Security Affects Operations in Active Directory Domain Services):
Цитата:
Active Directory uses access control to grant or deny access to objects, properties, and operations based on the identity of the user performing the access attempt. When your application binds to the directory, it binds with specific user credentials. When authenticated, these credentials determine your application's security context. Regardless of whether the credentials are those of the logged-on user, a specified user, a service account, a computer account, or an unauthenticated user (Guest/Everyone), Active Directory verifies the user's right to access an object before any operation is performed on that object.
...
Security is an implicit filter for searching, enumerating containers, or reading properties. If you do not have the necessary access rights, attempts to list objects or read properties can fail with error even thought the object or property exists. The impact of security on read operations is not necessarily manifested as an error. For example, a search operation can succeed, but the search results do not include objects or properties to which the caller does not have access.
Мой вывод такой: в доменах w2k и w2k3 на объекты AD устанавливается разный доступ по умолчанию для доменных пользователей и доменных компьютеров (в качестве которых для AD, насколько я понимаю, предстает служба, запущенная под LocalSystem на входящем в домен компьютере). В ближайшее время я постараюсь доработать тестовый скрипт сбора данных, чтобы получить подтверждение этому...
Изображения
 
Вложения
Тип файла: rar adsi-list-user-account-groups.rar (3.9 Кб, 159 просмотров)
За это сообщение автора поблагодарили: KiselevSA (2), Lemming (2), Kabardian (3).
Старый 15.03.2007, 18:22   #3  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
Спасибо за детальное изучение данной проблемы!
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Очень интересно было бы еще узнать, на чем крутится сам AOS - Win2000 или Win2003.
AOS крутится на машине работающей под управлением Win2003 - как только у меня появится к ней доступ, обязательно попробую Ваши скрипты и отпишусь о результате.
Теги
active directory, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47
Evolution of Dynamics AX: Improve stability of the AOS for Microsoft Dynamics AX Blog bot DAX Blogs 0 08.01.2008 18:51
Arijit Basu: How to Improve Stability of the AOS for Microsoft Dynamics AX 4.0 Blog bot DAX Blogs 1 14.12.2007 15:24
Не работает печать через БизнесКоннектор под Win2003 egorych DAX: Администрирование 0 01.03.2007 14:43
Не запускается AOS AX 4.0 DanielG DAX: Функционал 23 30.11.2006 19:02

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

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

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