Sharepoint Service 3.0: извлечение информации о пользователе из Active Directory
Я работаю над сайтом Sharepoint Intranet моей компании, который работает на Sharepoint Service 3.0. Все отлично работает, кроме одного.
Я хочу создать своего рода список сотрудников со всей информацией о сотруднике, такой как телефон, электронная почта, имя, должность в компании и т. Д. Дело в том, что вся эта информация уже есть в нашей Active Directory, поэтому я хотите извлечь эти данные и создать список сотрудников из AD вместо того, чтобы записывать все заново. Кроме того, было бы очень полезно в отношении обновлений и технического обслуживания сотрудников, чтобы в AD происходили только изменения.
Надеюсь, я правильно объяснил свою проблему, пожалуйста, дайте мне знать.
душевный
Mestika
4 ответа
Похоже, вы говорите о синхронизации информации AD для списка SharePoint для меня.
Я сталкивался с той же проблемой раньше. Мне сообщили, что встроенные функции SharePoint (в моем случае SharePoint 2007) предлагают такую функциональность, но я даже не приблизился к этой цели, используя встроенные функции. Вот почему я использую сторонний инструмент, такой как SharePoint AD Sync (кстати, 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()
Вы можете извлечь свои данные из AD, используя либо LDIFDE (в формате xml), либо CSVDE (для вывода в формате csv). Вы можете указать, какие записи для дампа и поля, которые вы хотите извлечь также...
Хороший сайт здесь для деталей:
В 2007 году я подозреваю, что это может сработать, хотя я не пробовал. Существует несколько веб-частей, доступных в Интернете для каталогов сотрудников, которые звучат так, как вы хотите.
Я ищу аналогичную вещь для Sharepoint 2010, но, насколько я понимаю, для этого вам нужна версия Share Point Server Portal со службой синхронизации профилей пользователей. Для Sharepoint 2010 это включает в себя стандартные и корпоративные ( http://technet.microsoft.com/en-us/library/ee721049.aspx), поэтому будьте осторожны при обновлении.