пятница, 20 февраля 2015 г.

Работа с полями элемента с помощью jQuery в EditForm (jQuery + SharePoint 2013 Fields Part 4)

Ранее я рассказывал, как можно работать с полями элемента, те примеры хорошо применять в NewForm создания элемента. Сегодня я хочу рассказать, как можно работать с полями в форме EditForm.
В этой статье:
1. Режим "только чтение" для полей 
2. Скрытие комментариев к полю
3. Скрытие полей в зависимости от значений

понедельник, 2 февраля 2015 г.

Поиск давно не используемых списков и библиотек с помощью PowerShell

Сегодня я расскажу как найти все старые списки, элементы которых давно не меняли.


 
$arraySite =
"http://site/",
"http://site/hr/" # перечень семейства сайтов, через запятую

$modifieDate = "09/24/2014 00:00:00"  #дата последнего изменения

$ListsInfo = @{}
$TotalItems = 0
Foreach ($currentSite in $arraySite)
{
   $SiteCollection = Get-SPSite $currentSite
   ForEach ($Site in $SiteCollection.AllWebs)
   {
                 ForEach ($List in $Site.Lists)
                 {
                                 if ($List.LastItemModifiedDate -lt $modifieDate) 
                                {
                                   $ListsInfo.Add($Site.Url + " - " + $List.Title, $List.LastItemModifiedDate)
                                   $TotalItems += $List.ItemCount
                                }
                 }
   $SiteCollection.Dispose()
   }
}
$ListsInfo.GetEnumerator() | sort name | Format-Table -Autosize
Write-Host "Количество списков: " $ListsInfo.Count
Write-Host "Общее количество элементов: " $TotalItems
получаем такой результат
Обновление!!!
на форуме меня попросили написать аналогичный код для поиска страниц, которые находятся в библиотеках с названием "Страницы сайта" 

$arraySite =
"http://site"

$modifieDate = "01.12.2014 00:00:00"  #дата изменения mm.dd.yyyy
$listTitle = "Страницы сайта"

$ListsInfo = @{}
$TotalItems = 0

Foreach ($currentSite in $arraySite)
{
   $SiteCollection = Get-SPSite $currentSite
   ForEach ($Site in $SiteCollection.AllWebs)
   {
                 ForEach ($List in $Site.Lists)
                 {
                                 if ($List.Title    -eq $listTitle) 
                                {
                                    $items = $List.Items
                                    foreach($item in $items)
                                        {                                           
                                            
                                            if ($item['Modified']  -le $modifieDate) 
                                            {
                                            
                                               $ListsInfo.Add($Site.Url + " - " + $item.Name , $item['Modified'])
                                               $TotalItems += $List.ItemCount
                                            }
                                        }

                                }

                 }
   $SiteCollection.Dispose()
   }
}
$ListsInfo.GetEnumerator() | sort name | Format-Table -Autosize
Write-Host "Количество страниц: " $TotalItems


Надеюсь статья будет Вам полезна.