Назад | Перейти на главную страницу

Sharepoint Service 3.0: извлечение информации о пользователях из Active Directory

Я работаю над интранет-сайтом своей компании Sharepoint, который работает на Sharepoint Service 3.0. Все работает нормально кроме одного.

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

Надеюсь, я правильно объяснил свою проблему, в противном случае дайте мне знать.

Искренний
Местика

Вы можете извлечь данные из AD с помощью LDIFDE (в формате xml) или CSVDE (для вывода в формате csv). Вы можете указать, какие записи нужно выгрузить, а также поля, которые вы хотите извлечь ...

Хороший сайт для подробностей:

http://www.computerperformance.co.uk/Logon/CSVDE_LDIFDE.htm

На 2007 год подозреваю этот может работать, хотя я не пробовал. В Интернете есть несколько веб-частей для каталогов сотрудников, которые звучат так, как вы хотите.

Я ищу аналогичную вещь для Sharepoint 2010, однако я понимаю, что для этого вам понадобится версия портала сервера Share Point со службой синхронизации профилей пользователей. Для Sharepoint 2010 это включает стандартные и корпоративные ( http://technet.microsoft.com/en-us/library/ee721049.aspx ) так что будьте осторожны при обновлении.

Кажется, вы говорите мне о синхронизации информации AD со списком SharePoint.

Раньше я сталкивался с той же проблемой. Мне сообщили, что встроенные функции SharePoint (в моем случае - SharePoint 2007) предлагают такую ​​функциональность, но я даже не приблизился к этому, используя встроенные функции. Вот почему я использую сторонний инструмент, например Синхронизация с SharePoint AD(который, кстати, бесплатен на 30 дней).

Просто чтобы ты знал.

Напишите сценарий PowerShell, который получает всех пользователей из AD, а затем помещает данные в список. В прошлом я написал сценарий PowerShell, который запрашивает базу данных SQL Server, очищает список SharePoint (WSS 3.0) от всех данных и затем помещает текущие данные в список. Его можно запускать по расписанию с использованием запланированных задач. Я был бы более чем готов помочь, если вам кажется, что это будет ваш путь.

Вот пример кода для стороны WSS 3.0:

[void][System.reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$site    =     new-object Microsoft.SharePoint.SPSite("https://portal.domain.com/")
$web     =    $Site.OpenWeb("rfq") 
$list    =    $web.Lists["Estimating_Load"]

$items = $list.Items;
#Purge the list.
for ($i=$items.Count -1; $i -ge 0; $i -= 1) 
{
    $items.Delete($i);
}

##Add new items to list.
foreach($dataitem in $DataSet.Tables[0])
{

        $newitem =    $list.items.Add()

        $newitem["Customer"]     = $dataitem.Company;                                                                                          
        $newitem["Quote_Number"] = $dataitem.Quote_No;                                                                                          
        $newitem["Sales_Person"] = $dataitem.Sales_Person;
        $newitem["Estimator"]    = $dataitem.Estimator;
        $newitem["Due_Date"]     = $dataitem.Due_Date;
        $newitem["Time"]         = $dataitem.TimeToCompEa;

        $newitem.update()  
}
$web.Dispose()
$site.Dispose()