2013-04-02 4 views
1

Я ищу простой способ экспортировать информацию о всех активных каталогах в уникальные vcards для каждого. есть некоторая информация, которую я хотел бы оставить вне vcard, как домашний телефон, и экстренный контакт. я посмотрел вокруг сети и мало что нашел. любая помощь будет оценена по достоинству.способ сценария экспорта всех пользователей AD vcards

ответ

0

Я сомневаюсь, что будет очень простой способ. В конечном счете, вы должны

  1. перечислить все пользователь (или подмножество поэтому)
  2. перебрать полученный список пользователей
  3. экспорта данных каждого пользователя в VCard

Для поиска & итерация часть, вы можете использовать PrincipalSearcher сделать ваш поиск:

// create your domain context 
using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain)) 
{ 
    // define a "query-by-example" principal - here, we search for a UserPrincipal 
    // this "QBE" user would give you the ability to further limit what you get back 
    // as results from the searcher 
    UserPrincipal qbeUser = new UserPrincipal(ctx); 

    // create your principal searcher passing in the QBE principal  
    PrincipalSearcher srch = new PrincipalSearcher(qbeUser); 

    // find all matches 
    foreach(var found in srch.FindAll()) 
    { 
     UserPrincipal foundUser = found as UserPrincipal; 

     if(foundUser != null) 
     { 
      ExportToVCard(foundUser); 
     } 
    } 
} 

И теперь все, что осталось сделать, это создать функцию ExportToVCard :-) Смотрите e.g. this blog post with code samples and further links за помощью.

Если у вас еще нет - абсолютно прочитайте статью MSDN Managing Directory Security Principals in the .NET Framework 3.5, в которой показано, как наилучшим образом использовать новые функции в System.DirectoryServices.AccountManagement. Или просмотрите пространство имен .

+0

Если вы используете Java, вы можете использовать «ez-vcard» для создания файлов vCard (отказ от ответственности: я автор;)): http://code.google.com/p/ez-vcard – Michael

0

Если вы просто хотите сами данные, я бы посмотрел бесплатный браузер LDAP от Softerra, found here.

Настройка профиля для вашего сервера каталогов - после его подключения в браузере вы увидите схему по умолчанию для BaseDN, которую вы предоставили во время начальной настройки. На значке сервера щелкните правой кнопкой мыши и нажмите «Экспорт данных».

enter image description here

Мастер экспорта будет ходить вас через большую часть процесса, но важная часть Шаг 3. Если вы хотите, чтобы найти всех пользователей, просто установите фильтр поиска для (objectClass=user), убедитесь, что область поиска это SubTree, а затем отредактируйте, какие атрибуты вы хотите вернуть.

Вам необходимо обработать результаты в VCards, но это самый простой \ быстрый способ получить все нужные вам пользователи и атрибуты.