Измените атрибут LDAP PhoneNumber и IPPhone, используя C # - PullRequest
3 голосов
/ 06 июля 2010

У меня есть файл .csv с EmployeeNumber, TelephoneNumber, IPPhone Number, перечисленным в текстовом файле. Мне нужен способ зацикливания всех записей в текстовом файле и изменения 2 атрибутов телефона в LDAP, помогите.Это полностью расстраивает

1 Ответ

4 голосов
/ 06 июля 2010

Если вы используете .NET 3.5 (или вы можете обновить его), ознакомьтесь с пространством имен System.DirectoryServices.AccountManagement - многое упрощается.

Читайте об этом: Управление принципами безопасности каталогов в .NET Framework 3.5 и ознакомьтесь со всеми свойствами, появившимися в новом UserPrincipal классе в .NET 3.5.

Другое место, которое я бы порекомендовал, это веб-сайт Ричарда Мюллера - у него много листов Excel, которые показывают все атрибуты AD / LDAP, где на интерактивных инструментах вы их найдете, и вперед. Очень полезно!

Объедините эти два ресурса, и вы сможете делать все, что вам нужно!

Обновление: если вы не можете обновить до .NET 3.5 (который на самом деле похож на пакет обновления поверх .NET 2 ....), вам придется выполнить следующие шаги:

  • импортировать CSV в List<CSVRecord> - я бы использовал для этого бесплатную библиотеку FileHelpers ; ваш CSVRecord будет содержать три поля в вашем CSV-файле
  • создать класс DirectorySearcher на основе вашего корня поиска (вашего домена или его подконтейнера); найти правильный фильтр поиска LDAP, чтобы найти вашего пользователя по EmployeeId

  • зацикливать записи в вашем списке и для каждой записи

    • поиск в каталоге для этого пользователя
    • если найдено: возьмите DirectoryEntry из вашего SearchResult и обновите два атрибута
    • звоните .CommitChanges() на этом DirectoryEntry

Я не думаю, что на самом деле есть какой-то другой способ сделать это - нет волшебного способа выбрать всех пользователей одновременно или обновить их всех сразу.

Обновление № 2:
Вот некоторые ресурсы, которые вы можете проверить:

и окончательная книга на эту тему:

Джо Каплан / Райан Данн: Руководство разработчика по .NET для программирования служб каталогов

альтернативный текст http://ecx.images -amazon.com / images / I / 512V652XBSL._SL500_AA300_.jpg

...