Я работаю над интранет-сайтом своей компании Sharepoint, который работает на Sharepoint Service 3.0. Все работает нормально кроме одного.
Я хочу создать своего рода список сотрудников со всей информацией о сотруднике, такой как телефон, электронная почта, имя, должность в компании и т. Д. Дело в том, что вся эта информация уже есть в нашей Active Directory, поэтому я хотите извлечь эти данные и создать список сотрудников из AD вместо того, чтобы записывать все это снова. Кроме того, было бы большим подспорьем в отношении обновлений и обслуживания сотрудников, что изменения должны происходить только в AD.
Надеюсь, я правильно объяснил свою проблему, в противном случае дайте мне знать.
Искренний
Местика
Вы можете извлечь данные из AD с помощью LDIFDE (в формате xml) или CSVDE (для вывода в формате csv). Вы можете указать, какие записи нужно выгрузить, а также поля, которые вы хотите извлечь ...
Хороший сайт для подробностей:
На 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()