четверг, 17 ноября 2011 г.

Sharepoint и телефонный справочник

Задача: Получить список данных из домена в виде телефонного справочника

Решение:

cls
Add-PsSnapin Microsoft.SharePoint.PowerShell
Add-PSSnapin Quest.ActiveRoles.ADManagement

Подключаемся к сайту и списку
Start-SPAssignment -Global
$spsite = New-Object Microsoft.SharePoint.SPSite("http://sharepoint")
$spweb = $spsite.OpenWeb()
$spList = $spWeb.GetList("/Lists/List2")

#Очищаем список от старых телефонов
$spItems = $spList.Items
$spitemscount = $spItems.count
For ($x=$spitemscount-1;$x -ge 0; $x--)
{
$spitems[$x].delete()
}


#Вставка новые записи из домена
[Array]$Users = Get-QADUSER -SearchRoot 'bank.local/Usual Users' | Select-Object -Property DisplayName, Title, Department, PhoneNumber
foreach ($item in $Users)
{
Преобразование данных в нужный формат
[String]$tmp = $item
[string]$tmp = $tmp.remove(0,2)
[string]$tmp = [string]$tmp.trimend(' }')
[array]$items = $tmp.split(';')
[string]$DP=$items[0].Remove(0,12)
[array]$DP = $DP.Split(" ");

$Title=$items[1].Remove(0,7)
$Department=$items[2].Remove(0,12)
$PhoneNumber=$items[3].Remove(0,13)
$Last = $DP[0]
$Name = $DP[1]
$FName = $DP[2]

Заполнение полей списка
if ($phonenumber -ne ""){
if ($Name -ne "тобо"){
$spitems = $spList.AddItem()
$spitems["Фамилия"] = $Last
$spitems["Имя"] = $Name
$spitems["Отчество"] = $FName
$spitems["Должность"] = $Title
$spitems["Отдел"] = $Department
$spitems["Телефон"] = $PhoneNumber
$spitems.update() }}
}

$SPWeb.Dispose()
$spsite.Dispose()
STOP-SPAssignment -Global


Использование powershell для администрирования списков в Sharepoint

Комментариев нет: